document.xxx.yyy ist Null oder kein Objekt
Danny
- javascript
0 hotti0 MudGuard
0 Deus Figendi
Ich habe ein Problem mit meinem Skript und dem Internet Explorer. Bei Mozilla Firefox klappt mein Skript wunderbar.
Ausgeschmissen wird der Fehler:
'document.emma.rating0' ist Null oder kein Objekt
Ich rufe durch:
<a name="jo0" href="javascript:sende(1,0)" class="rating"></a>
folgende Funktion auf:
function sende(a,b){
if(a==1){
document.emma.rating0.value="put";
document.emma.submit();
}
}
Im Body sieht das angesprochene Objekt so aus:
<form name="emma" method="post" action="#">
<input name="rating0"></input>
<b>...</b>
</form>
Ich habe leider keine Idee mehr, warum es einen Fehler gibt. Muss man mit dem Internet Explorer die Elemente irgendwie anders ansprechen?
Vielen Dank im Voraus für eure Hilfe,
Danny
Ich habe ein Problem mit meinem Skript und dem Internet Explorer. Bei Mozilla Firefox klappt mein Skript wunderbar.
Ausgeschmissen wird der Fehler:
'document.emma.rating0' ist Null oder kein Objekt
Es kann sein, dass dem IE irgendwas anderes nicht passt, diese Fehlermeldung kenne ich auch und bei mir hatte die nichts aber auch gar nichts mit JS-Code zu tun, sondern mit einer Kommentarzeile. Ich hab mich da Schritt für Schritt rangetastet und den Stein des Anstoßes mehr oder weniger zufällig gefunden.
Viel Erfolg!
Hotti
Hi,
<input name="rating0"></input>
In Html ist das falsch, da input kein end-tag haben darf.
Wenn Du XHTML verwendest, dies aber vom Tag-Soup-Parser verarbeitet wird, sollte die ein-tag-Schreibweise <input /> benutzt werden.
Vielleicht wirft das den IE aus der Bahn ...
cu,
Andreas
Ich kenne den Fehler nicht, weil ich nicht für den IE code (die Version könnte für andere Antworter aber interessant sein) aber...
» document.emma.rating0.value="put";
> document.emma.submit();
Vielleicht hilft es die Methode getElementsByName() zu verwenden:
var emma_form = document.getElementsByName("emma")[0];
emma_form.getElementsByName("rating0")[0].value="put";
Oder - falls du eh nur ein Formular hast - kannst du dir natürlich auch sparen "emma" erst zu wählen und greifst direkt
document.getElementsByName("rating0")[0].value="put";
Nur so 'ne Idee. Ich verwende eigentlich ausschließlich die "getElement(s)"-Methoden um Elemente zu ergreifen und meistens benutze ich ID (nämlich immer dann wenn ich das HTML auch selbst schreibe).