Style.display = none bzw. inline macht probleme
romero
- javascript
0 Edgar Ehritt0 romero0 Edgar Ehritt0 romero
hallöchen,
hab da folgendes problem.
ich habe ein layout mittels einer tabelle erzeugt.darin sind insgesamt 5 auswahllisten,welche in abhängigkeit zueinander stehen.ich habe den script für das aufrufen der einzelnen auswahllisten bei selfhtml -> linkedselection gefunden und um 2 weitere felder erweitert.
soweit klappt das ganze wunderbar. nun habe ich aber die 2 letzten auswahllisten mittels style="display:none"
unsichtbar gemacht bzw ausgeblendet.
nun will ich, wenn ich in der 3. auswahlliste was bestimmtes anklicke (denn onchange geht ja in <td>'s ja nicht), dann macht er die auswahllisten nac und nach (also je nachdem was in der 4. auswahlliste angeklickt wird) sichtbar. so wie es erwünscht ist. wenn ich wieder zurück, also ne andere auswahl treffe, werden die letzten beiden wieder unsichtbar.
aber: wenn ich nun aber wieder die selbe auswahl treffe wie bei der 1. abfrage, dann erscheinen aber alle felder. die sollten aber nach und nach aufgehen.
das selbe ist es auch, wenn ich für die 1. auswahlliste ne funktion schreibe:
function ausblenden()
{
//auswahl1 ist die 1 auswahl
if( auswahl1 == "audi" || auswahl1 == "vw" )
{
document.getElementById( "Marke1" ).style.display = "none";
document.getElementById( "Marke2" ).style.display = "none";
}
}
beim ersten mal anklicken geht es wunderbar,aber wenn ich dann z.b die auswahl verändere,dann erscheinen die felder. den <input type=text></input> macht er wunderbar.nur die <select>-felder nicht.
liegt es an diesem linkedselection?oder gibt es da noch andere dinge,welche in frage kommen?weiß da bald keinen rat mehr.hab da schon versucht mit anderen ausschlussverfahren dranzuommen aber bisher kein erfolg.
lg romero
Hallo Romero,
es wird nicht wirklich Deutlich, wie man Dir helfen kann; zum Teil weil man Deinen Code nicht kennt. Bitte poste hier einen Verweis, wo man sich Deine jetzigen Versuche online ansehen kann und sortiere Dich beim Erstellen Deines Problemvortrags!
Gruß aus Berlin!
eddi
ich muss grad feststellen, dass das selbe script, was auf meiner arbeit ich schreibe bzw. zum entstehen bringe, da probleme macht als zu hause.wenn ich das selbe script zu hause aufrufe und es dann teste, dann verändert sich alles wie erwünscht.
nun aber mal das script und den html-teil:
<html>
<head>
<title>Stuecklistenscript</title>
<HTA:APPLICATION ID="RolandRaue" APPLICATIONNAME="RolandRaue" SCROLL="yes" SINGLEINSTANCE="no"/>
<style type="text/css">
body { background-color:lightblue; font-family:Times; font-size:14px; }
table { height:650px; width:1020px; border:3px; border-style: outset; border-color: lightgrey }
div { width: 1000px; height:380px; margin:0px; border:2px; border-style: inset }
.rollbalken { overflow:scroll; overflow-x:hidden }
.Folie { border:2px; border-style: inset; padding:3px }
.Inhalt { border:2px; border-style: inset; padding:3px }
</style>
<script type="text/javascript" src="Bereichsauswahl.js"></script>
<script type="text/javascript" src="LinkedSelection.js"></script>
<script language="javascript" type="text/javascript">
<!--
//LinkedSelection wird definiert und entsprechend ausgegeben (Z.21)
function ergebnisZeigen( selected )
{
if( selected.length )
{
var sel = '';
var val = '';
var txt = '';
for( var i = 0; i < selected.length; i++ )
{
sel += ( i>0 ? ' → ' : '') + selected[i].id;
val += ( i>0 ? ' → ' : '') + selected[i].value;
txt += ( i>0 ? ' → ' : '') + selected[i].text;
}
}
};
window.onload = function()
{
var vk = new LinkedSelection( [ 'FLT', 'Sektion', 'Bereich1', 'Bereich2', 'Bereich3' ], ergebnisZeigen, Bereich1Auswahl );
};
//Übernehmen-Funktion wird geprüft und ausgegeben, samt Fehlermeldungen (Z.46)
function Selektierung()
{
var Selektierter_Bereich = document.Auswahl.Bereich1.options[document.Auswahl.Bereich1.selectedIndex].text;
var Selektierter_Bereich2 = document.Auswahl.Bereich2.options[document.Auswahl.Bereich2.selectedIndex].text;
if( Selektierter_Bereich != "D" && Selektierter_Bereich != "E" && Selektierter_Bereich != "DD" && Selektierter_Bereich != "EE" && Selektierter_Bereich != "Bitte wählen:" )
{
document.Auswahl.STL_Folie[0].checked = true;
} else if( Selektierter_Bereich == "D" || Selektierter_Bereich == "E" || Selektierter_Bereich == "DD" || Selektierter_Bereich == "EE" )
{
document.Auswahl.STL_Folie[1].checked = true;
} else if( Selektierter_Bereich == 0 )
{
document.Auswahl.STL_Folie[0].checked = false;
document.Auswahl.STL_Folie[1].checked = false;
document.Auswahl.STL_Folie[2].checked = false;
}
if( Selektierter_Bereich == "Q" || Selektierter_Bereich == "T4L" || Selektierter_Bereich == "T4R" )
{
document.Auswahl.Bereich2.style.display = "inline";
document.Auswahl.Text2.style.display = "inline";
document.Auswahl.Bereich3.style.display = "none";
document.Auswahl.Text3.style.display = "none";
} else {
document.Auswahl.Bereich2.style.display = "none";
document.Auswahl.Text2.style.display = "none";
document.Auswahl.Bereich3.style.display = "none";
document.Auswahl.Text3.style.display = "none";
};
if( Selektierter_Bereich2 == "Q" || Selektierter_Bereich2 == "T4L" || Selektierter_Bereich2 == "T4R" )
{
document.Auswahl.Bereich3.style.display = "inline";
document.Auswahl.Text3.style.display = "inline";
} else {
document.Auswahl.Bereich3.style.display = "none";
document.Auswahl.Text3.style.display = "none";
};
};
function Übernehmen()
{
//Variablen festlegen (Z.69)
var Flugzeugtyp = document.Auswahl.FLT.options[document.Auswahl.FLT.selectedIndex].text;
var FlugzeugtypValue = document.Auswahl.FLT.options[document.Auswahl.FLT.selectedIndex].value;
var Sektion = document.Auswahl.Sektion.options[document.Auswahl.Sektion.selectedIndex].text;
var SektionValue = document.Auswahl.Sektion.options[document.Auswahl.Sektion.selectedIndex].value;
var Bereich1 = document.Auswahl.Bereich1.options[document.Auswahl.Bereich1.selectedIndex].text;
var Bereich1Value = document.Auswahl.Bereich1.options[document.Auswahl.Bereich1.selectedIndex].value;
var Bereichsnummer1 = document.Auswahl.Text1.value;
var Bereich2 = document.Auswahl.Bereich2.options[document.Auswahl.Bereich2.selectedIndex].text;
var Bereich2Value = document.Auswahl.Bereich2.options[document.Auswahl.Bereich2.selectedIndex].value;
var Bereichsnummer2 = document.Auswahl.Text2.value;
...
if( FlugzeugtypValue != "--" && SektionValue != "--" && Bereich1Value != "--" && Bereichsnummer1.length == 3 && Bereichsnummer1 != "" && isNaN(Bereichsnummer1) == false )
{
document.getElementById( "Prüfung" ).innerHTML = '<p class="Inhalt"><br><br><img src="D:/save/OLUTEX/Flugzeug.png" height=35> <b>Flugzeugtyp: ' + Flugzeugtyp + ' / Sektion: ' + Sektion + ' / Bereich: ' + Bereich1 + Bereichsnummer1 + '</b><br><br> <br>Ihre Stückliste(n) <b>' + Bereich1 + Bereichsnummer1 + '</b>' + STL_Folie + STL_Anlegung + '<br><br><br>';
} else if ( FlugzeugtypValue == "--" || SektionValue == "--" || Bereich1Value == "--" )
{
document.getElementById( "Prüfung" ).innerHTML = '<p class="Inhalt"><br><img src="D:/save/OLUTEX/Achtung.png" height=25> <b>ACHTUNG:</b><br><br>Ein Fehler ist aufgetreten!!!<br><br>Es wurde' + Fehlermeldung1 + Fehlermeldung2 + Fehlermeldung3 + 'gewählt.<br>' + Fehlermeldung4 + Fehlermeldung5 + Fehlermeldung6 + '<br><br>';
document.Auswahl.Start.disabled = true;
} else {
document.getElementById( "Prüfung" ).innerHTML = '<p class="Inhalt"><br><img src="D:/save/OLUTEX/Achtung.png" height=25> <b>ACHTUNG:</b><br><br>Ein Fehler ist aufgetreten!!!<br><br>' + Fehlermeldung4 + Fehlermeldung5 + Fehlermeldung6 + '<br><br><br>';
document.Auswahl.Start.disabled = true;
};
return [ Flugzeugtyp , Sektion , Bereich1 , Bereichsnummer1 , STL_Anlegung , STL_Folie , Bereich1_Folie ];
};
//Ausführung des Hauptscriptes (Z.236)
function Go()
{
};
//Die Entertaste findet keine Bedeutung mehr bzw. wird deaktiviert (252)
function Entersperre(event)
{
if( event.keyCode == 13)
{
return false;
}
return true;
};
//-->
</script>
</head>
<body onKeyPress="return Entersperre(event)">
<form name="Auswahl">
<center><table>
<tr height=10>
<td colspan=12></td>
</tr>
<tr height=75>
<td width=10></td>
<td colspan=10 width=1020><h2><center>Stücklistenscript</h2><h5>für SINGLE AISLE & LONG RANGE</h5></center></td>
<td width=10></td>
</tr>
<tr height=25>
<td colspan=12></td>
</tr>
<tr height=25>
<td width=10></td>
<td width=80 align="center">Flugzeugtyp:</td>
<td width=95><label id="FLTLabel" for="FLT"></label>
<select id="FLT" name="FLT" onClick="Selektierung()">
<option value="--">Bitte wählen:</option>
<option value="SA1">A318</option>
<option value="SA2">A319</option>
<option value="SA3">A320</option>
<option value="SA4">A321</option>
<option value="LR1">A330-200</option>
<option value="LR2">A330-300</option>
<option value="LR3">A340</option>
<option value="LR4">A340-500</option>
<option value="LR5">A340-600</option>
</select></td>
<td width=255 id="Flugzeugtyp"></td>
<td width=55 align="center">Sektion:</td>
<td width=95><label id="SektionLabel" for="Sektion"></label>
<select id="Sektion" name="Sektion" size="1" maxlength="7" onClick="Selektierung()">
<option value="--">Bitte wählen:</option>
</select></td>
<td width=130 id="Sek"></td>
<td width=55 align="center">Bereich:</td>
<td width=95><label id="SektionBereich1" for="Bereich1"></label>
<select id="Bereich1" name="Bereich1" onClick="Selektierung()">
<option value="--">Bitte wählen:</option>
</select></td>
<td width=40>
<input type="text" id="Text1" name="Text1" value="456" size="1" maxlength="3"></input></td>
<td width=100 id="Fehlerausgabe1" align="center"></td>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
<td colspan=5 rowspan=6 id="Prüfung" valign="bottom"></td>
<td width=100></td>
<td width=55></td>
<td width=60><label id="SektionBereich2" for="Bereich2"></label>
<select id="Bereich2" name="Bereich2" style="display:none" onClick="Selektierung()">
<option value="--">Bitte wählen:</option>
</select></td>
<td width=40>
<input type="text" id="Text2" name="Text2" value="" size="1" maxlength="3" style="display:none"></input></td>
<td width=100 id="Fehlerausgabe2"></td>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
<td width=100></td>
<td width=55></td>
<td width=60><label id="SektionBereich3" for="Bereich3"></label>
<select id="Bereich3" name="Bereich3" style="display:none" onClick="Selektierung()">
<option value="--">Bitte wählen:</option>
</select></td>
<td width=40>
<input type="text" id="Text3" name="Text3" value="" size="1" maxlength="3" style="display:none"></input></td>
<td width=100 id="Fehlerausgabe3"></td>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
<td colspan=4></td>
</tr>
<tr height=50>
<td width=10></td>
<td colspan=5 rowspan=3 id="Folie_Meldung" name="Folie_Meldung" valign="bottom"></td>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
</tr>
<tr height=5>
<td colspan=12></td>
</tr>
<tr height=25>
<td width=10></td>
<td colspan=2>Art der Stücklisten-Anlegung:</td>
<td width=255>
<input type="radio" name="STL_Anlegung" value="STL_Neu" checked="true">Stückliste neu anlegen</input>
<td width=280 colspan=3>
<input type="radio" name="STL_Anlegung" value="STL_Aktualisierung">bestehende Stückliste aktualisieren</input>
<td width=10></td>
</tr>
<tr height=25>
<td width=10></td>
<td colspan=2>Folien-Stückliste:</td>
<td width=255 colspan=1>
<input type="radio" name="STL_Folie" value="Folie_ohne">ohne separaten Folien-Stückliste</input></td>
<td width=280 colspan=3>
<input type="radio" name="STL_Folie" value="Folie_BTH">Burnthrough (Terflame / Terul 18)</input></td>
<td width=300 colspan=4>
<input type="radio" name="STL_Folie" value="Folie_WS">Nur Wärmeschutz (Terim. 7/8 / Terul 19)</input></td>
<td width=10></td>
</tr>
<tr height=5>
<td colspan=12></td>
</tr>
<tr height=25>
<td width=10></td>
<td colspan=10 align="center">
<input type="button" value="Übernehmen" onClick="Übernehmen()"></input></td>
<td width=10></td>
</tr>
...
</table></center>
</form>
</body>
</html>
und da wo ich also den flt-typ ändere,soll er die bereiche 2 und 3 ausblenden.das klappt beim ersten klick wunderbar,auch die input-felder werden ausgeblendet.
wenn ich aber dann ein 2. mal klicke,werden die wieder sichtbar,also nur die bereiche 2 und 3.die inputfelder bleiben unsichtbar.
und nun das komische.auf dem heimpc klappt das prima,nur auf arbeit leider nicht so.könnt ihr mir da ne erklärung liefern?
ps:das ganze wird als hta-datei gespeichert.also ist online nicht verfügbar bzw wird es auch nicht sein.
lg romero
Re:
Bitte poste hier einen Verweis, wo man sich Deine jetzigen Versuche online ansehen kann und sortiere Dich beim Erstellen Deines Problemvortrags!
Gruß aus Berlin!
eddi
Re:
Bitte poste hier einen Verweis, wo man sich Deine jetzigen Versuche online ansehen kann und sortiere Dich beim Erstellen Deines Problemvortrags!
Gruß aus Berlin!
eddi
ich kann es nicht online zeigen,da es eine *hta-datei ist.also lokal aufm rechner liegt und auch so benutzt wird.kann style.display beim IE anders dargestellt werden als beim firefox?weil auf arbeit ist nur IE vorhanden,zu hause nutze ich nur firefox,obwohl IE auch da ist.kann es daran liegen?
lg romero
Re:
ich kann es nicht online zeigen,da es eine *hta-datei ist.also lokal aufm rechner liegt und auch so benutzt wird.kann style.display beim IE anders dargestellt werden als beim firefox?weil auf arbeit ist nur IE vorhanden,zu hause nutze ich nur firefox,obwohl IE auch da ist.kann es daran liegen?
Prinzipiell ändert sich nichts daran, ob eine Datei von der Festplatte oder von einem Webserver bezogen wird. hta-Dateien sind eine proprietäre, von Microsoft geschaffene Plattform für das Schreiben von Anwendungen die auf den normalen Standards von Internetseiten funktionieren (HTML, CSS, JavaScript, DOM...). Zusätzlich unterstützt diese weitere Funktionen, die in normalen Web-Dokumenten nicht enthalten sind/sein können. Soweit aber zu erkennen ist, betrifft Deine Aufgabenstellung (zunächst einmal) keine Funktionalität, die Web-Dokumenten nicht enthalten könnten. Ohne aber zu sehen, was Du tatsächlich wie gemacht hast, kann man Dir auf Basis von Mutmaßungen helfen. Das lehne ich ab. Also mache aus Deiner Anwendung ein valides Web-Dokument, stelle es bei irgendeinen Freespaceanbieter ein! Dann kann man sich mit allen Bestandteilen Deines Quelltextes/-codes eingehend auseinandersetzten.
Zu Deiner Frage: Offensichtlich liegt es am Browserwechsel.
Gruß aus Berlin!
eddi