WiZdooM
Erfahrenes Mitglied
Hallo
Ich bin etwas überfordert mit dem Fehler "Objekt erwartet" bzw. dessen Behebung. Es sind eigentlich recht simple Funktionen aber ich habe wohl irgendwie die Syntax nicht korrekt umgesetzt (sonst würde der Fehler ja nicht kommen)
Ich fange mal mit dem onChange-"Objekt erwartet" an. Ich habe zwei <select> Felder, von denen eines standartmäßig über CSS ausgeblendet ist und bei entsprechender Auswahl im anderen Feld durch die JS methode "checkGetriebeArt()", eingeblendet und befüllt wird.
Der IE8 Debugger springt mir in die onchange-Funktion und markiert den Funktionsaufruf mit dem Fehler, dass ein Objekt erwartet wird. Was meint der mit "Objekt" ?
Das gleiche passiert im onload-Statement, was nach einem Neuladen der Seite aufgrund fehlender Angaben ausgeführt wird und entsprechend das Feld "Getriebegang" (sofern nicht Multitronik) wieder einblenden soll.
<body onload="checkGetriebeArt();">
Was mache ich hier falsch, außer vielleicht das zweite Feld über JS mit Optionen zu belegen und Felder ein und ausblenden zu wollen...
Ist hier der Funktionsaufruf falsch? Oder sind die Funktionen falsch? Ich finde es ärgerlich, dass das im FF immer funktioniert aber der IE sich anstellt wie die Heilige Jungfrau... Oder bin ich nur zu unwissend für das Ganze (kann ja auch sein )
Ich bin etwas überfordert mit dem Fehler "Objekt erwartet" bzw. dessen Behebung. Es sind eigentlich recht simple Funktionen aber ich habe wohl irgendwie die Syntax nicht korrekt umgesetzt (sonst würde der Fehler ja nicht kommen)
Ich fange mal mit dem onChange-"Objekt erwartet" an. Ich habe zwei <select> Felder, von denen eines standartmäßig über CSS ausgeblendet ist und bei entsprechender Auswahl im anderen Feld durch die JS methode "checkGetriebeArt()", eingeblendet und befüllt wird.
Code:
<script language='javascript' type='text/javascript'>
function checkGetriebeArt(){
var combobox = document.getElementById("Getriebegang");
if(document.getElementById("Getriebeart").value=="Schaltgetriebe"){
combobox.options.length = 0;
combobox.style.visibility="visible";
combobox.options[1] = new Option("3-Gang","3-Gang",false);
combobox.options[2] = new Option("4-Gang","4-Gang",false);
combobox.options[3] = new Option("5-Gang","5-Gang",false);
combobox.options[4] = new Option("6-Gang","6-Gang",false);
}
else if(document.getElementById("Getriebeart").value=="Automatik"){
combobox.options.length = 0;
combobox.style.visibility="visible";
combobox.options[1] = new Option("4-Gang","4-Gang",false);
combobox.options[2] = new Option("5-Gang","5-Gang",false);
combobox.options[3] = new Option("6-Gang","6-Gang",false);
combobox.options[4] = new Option("Tip-Tronic","Tip-Tronic",false);
}
else{
combobox.options.length = 0;
combobox.style.visibility="hidden";
}
}
</script>
HTML:
<select name="Getriebeart" id="Getriebeart" class="input" style="width: 105px" onchange="checkGetriebeArt();">
<option selected="selected"></option>
<option value="Schaltgetriebe">Schaltgetriebe</option>
<option value="Automatik">Automatik</option>
<option value="Multitronik">Multitronik</option> </select>
<select name="Getriebegang" id="Getriebegang" style="width:105px; visibility:hidden"><option value=""></option>
Der IE8 Debugger springt mir in die onchange-Funktion und markiert den Funktionsaufruf mit dem Fehler, dass ein Objekt erwartet wird. Was meint der mit "Objekt" ?
Das gleiche passiert im onload-Statement, was nach einem Neuladen der Seite aufgrund fehlender Angaben ausgeführt wird und entsprechend das Feld "Getriebegang" (sofern nicht Multitronik) wieder einblenden soll.
<body onload="checkGetriebeArt();">
Was mache ich hier falsch, außer vielleicht das zweite Feld über JS mit Optionen zu belegen und Felder ein und ausblenden zu wollen...
Ist hier der Funktionsaufruf falsch? Oder sind die Funktionen falsch? Ich finde es ärgerlich, dass das im FF immer funktioniert aber der IE sich anstellt wie die Heilige Jungfrau... Oder bin ich nur zu unwissend für das Ganze (kann ja auch sein )