Skript funkt. im Moz! Im IE aber nicht!
Phil Z.
- javascript
Hallo,
ich habe folgendes Skript um die display Eigenschaft zweier tabellen zu verändern.
Im Miz klappt es aber im IE komischerweise nicht. Woran liegts?
function einblenden_user(){
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='block';
}
function einblenden_artist(){
document.getElementById('a_form').style.display='block';
document.getElementById('u_form').style.display='none';
}
<form>
<select name='type'>
<option value='user' selected='selected'onclick='einblenden_user()' style='cursor:pointer'>User</option>
<option value='artists'onclick='einblenden_artist()' style='cursor:pointer'>Artist</option>
</select>
</form>
<table id='a_form' style='display:none;'>
INHALT 1
</table>
<table id='u_form' style='display:block'>
INHALT2
</table>
Hoffe ihr könnt mir helfen.
mfg
Phil Z.
hi,
ich habe folgendes Skript um die display Eigenschaft zweier tabellen zu verändern.
Im Miz klappt es aber im IE komischerweise nicht. Woran liegts?
Wundert mich, ich hätte es jetzt eher andersherum erwartet.
<table id='a_form' style='display:none;'>
<table id='u_form' style='display:block'>
Der Defaultwert der Eigenschaft display für Tabellen ist nicht block, sondern table - das sieht nur der IE ein bisschen anders.
Weise also zum Sichtbarmachen der Tabellen nicht "block", sondern einfach einen Leerstring zu - damit nimmt jeder Browser wieder den Defaultwert (den, den er für richtig hält).
gruß,
wahsaga
Weise also zum Sichtbarmachen der Tabellen nicht "block", sondern einfach einen Leerstring zu - damit nimmt jeder Browser wieder den Defaultwert (den, den er für richtig hält).
Also so?
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='';
}
function einblenden_artist(){
document.getElementById('a_form').style.display='';
document.getElementById('u_form').style.display='none';
}
Funktioniert auch nicht. (IE7)
mfg
Phil Z.
hi,
Funktioniert auch nicht. (IE7)
OK, dann liegt es wohl an deiner Form des Aufrufs der Funktion. (Warum hast du das eigentlich nicht erst mal ausprobiert, durch eine einfache Kontrollausgabe, ob die Funktion überhaupt aufgerufen wird? Das wäre mal ansatzweise sinnvolles Debugging - anstatt sich bei der Problembeschreibung immer wieder nur auf ein blödsinniges "funzt nicht" zurückzuziehen.)
Der IE reagiert bei Options nicht auf onclick. Nutze onchange im Select.
gruß,
wahsaga
Okay würde also so aussehen
<select name='auswahl' onchange='auswahl()>
aber wie sieht diese auswahl() in dem Fall aus?
Sorry ich weiß echt es echt nicht.
Ich würde es einmal geänder bekommen aber was ist wenn ich mich späer umentscheide und nochmal dazwischen wechseln muss. Ich weiß nicht wie ich es schaffe das es dann das andere ändert.
hi,
Okay würde also so aussehen
<select name='auswahl' onchange='auswahl()>aber wie sieht diese auswahl() in dem Fall aus?
Sorry ich weiß echt es echt nicht.
Frage ab, welche Option ausgewählt wurde - und reagiere darauf.
http://de.selfhtml.org/javascript/objekte/options.htm
Ich würde es einmal geänder bekommen aber was ist wenn ich mich späer umentscheide und nochmal dazwischen wechseln muss. Ich weiß nicht wie ich es schaffe das es dann das andere ändert.
Dann feuert onchange erneut, und du machst wieder das gleiche - aktuell gewählte Option ermitteln, reagieren.
gruß,
wahsaga
Frage ab, welche Option ausgewählt wurde - und reagiere darauf.
http://de.selfhtml.org/javascript/objekte/options.htm
Sorry da blick ich irgendwie nicht ganz durch :(.
Wie ermittel ich welche Option nun aktiviert wurde?
Help.
Phil Z.
hi,
Frage ab, welche Option ausgewählt wurde - und reagiere darauf.
http://de.selfhtml.org/javascript/objekte/options.htm
Sorry da blick ich irgendwie nicht ganz durch :(.Wie ermittel ich welche Option nun aktiviert wurde?
selectedIndex
gruß,
wahsaga
Hi.
selectedIndex
Okay das probier ich nacher mal aus, mus sjetzt weg. Danke für deine bisherige Hilfe.
Bis dann
Phil Z.
Hallo,
hier ein neuer Versuch, der leider auch nicht klappt.
function auswahl(){
var type = document.checkAllForm.alter.options[document.checkAllForm.type.selectedIndex].value;
if(var type = "user")
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='';
} elseif (var type = "artists") {
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='';
}
}
<form>
<select name='type' onchange='auswahl()'>
<option value='user' selected='selected' name='user'style='cursor:pointer'>User</option>
<option value='artists' name='artists'style='cursor:pointer'>Artist</option>
</select>
</form>
Hoffe ihr könnt mir helfen.
LG
Phil z.
hi,
hier ein neuer Versuch, der leider auch nicht klappt.
Lernst du jetzt bitte endlich mal, dass "klappt nicht" keine Problembeschreibung, sondern Bullshit ist?
if(var type = "user")
Das ist eine Zuweisung, kein Vergleich.
Ausserdem ist das Keyword var dort fehl am Platze, schliesslich hast du die Variable ja darüber schon deklariert.
gruß,
wahsaga
Hi.
function auswahl(){
$type = document.checkAllForm.alter.options[document.checkAllForm.type.selectedIndex].value;
if($type == "user")
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='';
} else if($type == "artists") {
document.getElementById('a_form').style.display='none';
document.getElementById('u_form').style.display='';
}
}
<form>
<select name='type' onchange='auswahl()'>
<option value='user' selected='selected' name='user'style='cursor:pointer'>User</option>
<option value='artists' name='artists'style='cursor:pointer'>Artist</option>
</select>
</form>
Die Brwoser reagieren nicht darauf.
mfg
Phil
hi,
$type = document.checkAllForm.alter.options[document.checkAllForm.type.selectedIndex].value;
Warum fängst du jetzt an, Variablen PHP-style zu benennen?
Die Brwoser reagieren nicht darauf.
Wenn das der exakte Code ist, reagieren sie ganz sicher mit Fehlermeldungen. Du versuchst nämlich auf ein Formular document.checkAllForm zuzugreifen, welches aber gar nicht existiert.
gruß,
wahsaga