document. has no properties
Christian
- javascript
Hallo liebe Forum-Mitglieder,
ich bin am verzweifeln. Ich will einen kleinen Test erstellen. Habe hier mir alles durchgelesen und bin der Meinung alles richtig gemacht zu haben. Leider klappt mein JS nicht.
Ich habe eine
js.js
und xhtml.xhtml
in der
js.js steht
function try(form)
{
var i = 0;
var z = document.f.a.selectedIndex;
.....
in der xhtml.xhtml ist folgendes
<h1>...</h1>
<p><h2>1</h2></p>
<form name="f">
<p>Quest
<select name="a" size="1">
<option value="0">Choose</option>
<option value="1">z</option>
<option value="2">y</option>
</select></p>
</form>
<input onclick="try()" type="button" value="Try"> </input>
Führe ich das aus, kommt folgende Meldung
document.f1 has no properties
try(undefined)js.js (line 4)
onclick(click clientX=0, clientY=0)xhtml.xhtml (line 1)
[Break on this error] var z = document.f.a.selectedIndex;
Ich weiß nicht weiter. Wäre für jede Hilfe dankbar.
Vielen Dank im Voraus.
Christian
hallo Christian,
ich bin am verzweifeln.
Och, nu mal langsam ... zu dieser Tageszeit führt das entweder zu übermäßigem Holunderweingenuß oder zur Verarbeitung von Giftpilzen in der Pfanne. Beides ist der Gesundheit nicht sonderlich zuträglich.
Ich will einen kleinen Test erstellen.
Und was willst du testen?
Habe hier mir alles durchgelesen
Oh. Ich habe zehn Jahre gebraucht, um mir etwa 40% wirklich "durchzulesen". Wie hast dui das nur in wesentlich kürzerer Zeit geschafft?
und bin der Meinung alles richtig gemacht zu haben.
So eine "Meinung" sollte man erst dann haben, wenn auch alles funktioniert - und kein Anlaß mehr besteht, sich mit einer Nachfrage ans Forum zu wenden ;-)
Ich habe eine
js.js
und xhtml.xhtml
Hast du wirklich die Extension ".xhtml" gewählt? Was mußtest du tun, daß dein Browser dir Daeien mit dieser Extension auch anzeigt?
in der xhtml.xhtml ist folgendes
<h1>...</h1>
Das sieht ja nett aus.
<p><h2>1</h2></p>
Wow, eine große Eins.
<form name="f">
<p>Quest
<select name="a" size="1">
<option value="0">Choose</option>
<option value="1">z</option>
<option value="2">y</option>
</select></p>
</form>
Äks. Kann man machen, ist aber nicht schön.
<input onclick="try()" type="button" value="Try"> </input>
"input" ist bei deinem XHTML ein standalone-Element, der Validtor sollte dich da erheblich anmeckern.
Führe ich das aus, kommt folgende Meldung
document.f1 has no properties
Nett. Aber wo in deinem geposteten Code findet nun jemand, der dir eventuell helfen möchte, einen Hinweis auf "f1"?
Kehren wir nochmal zu deinem Code zurück. Du gibst in der Funktion explizit an:
function try(form)
Das bedeutet, jeder Aufruf dieser Funktion erwartet einen Parameter "form" - in welcher Art auch immer. Aber dann gibst du an:
onclick="try()"
Ups? Das ist ja nur eine leere Klammer, obwohl in ihr eigentlich die vermißten "properties" stehen müßten.
Aber alles in allem: es könnte durhaus sein, daß dein Problem noch an einer anderen Stelle verursacht wird. Dazu hast du dann noch nicht genügend Einblick in deine Codebastelei ermöglicht.
Im übrigen ist es keine Schande, irgendwelche Fehler zu bemerken oder mit Fehlermeldungen nicht klarzukommen. Oftmals ist es aber ein Problem, die Fragestellung so zu formulieren, daß Antwortwillige auch wirklich verstehen, worum es nun eigentlich geht.
Grüße aus Berlin
Christoph S.
Hi,
erstmal Danke für die Hilfe. Also ich habe den Code jetzt erstmal auf ein Minimum eingegrenzt, aber es kommt immer noch die gleiche Fehlermeldung. :(
js.js
function rechne()
{
var wert = document.quest.answ.selectedIndex;
if (wert == 0) { alert("Answer Question"); }
}
xhtml.xhtml
<form name="quest">
<p>Question</p>
<select name="answ" size="1">
<option value="0">Choose</option>
<option value="1">Windows</option>
<option value="2">Linux</option>
</select>
</form>
<input type="button" value="Submit" onclick="rechne()"/>
document.quest has no properties
Ich finde einfac den Fehler nicht. Vielen Dank im Voraus für die Hilfe.
Christian
erstmal Danke für die Hilfe. Also ich habe den Code jetzt erstmal auf ein Minimum eingegrenzt, aber es kommt immer noch die gleiche Fehlermeldung. :(
Also ich bekomme mit deinem Code keine Fehlermeldung.
Struppi.
Hilft dir das weiter: <form id="quest">?
sonst versuch mal <select id="answ" size="1">
und in der funktion document.getElementById['answ'].selectedIndex;
Gruß,
Manu
Hallo,
Führe ich das aus, kommt folgende Meldung
document.f1 has no properties
Kapier ich nicht, was soll f1 sein?
try(undefined)js.js (line 4)
onclick(click clientX=0, clientY=0)xhtml.xhtml (line 1)
[Break on this error] var z = document.f.a.selectedIndex;
(Welcher Browser macht so eine Ausgabe?)
Du solltest eine Methode nicht »try« nennen, weil das ein reservierter Bezeichner ist. Dann solltest du möglichst die Langschreibweise document.forms.x.elements.y nehmen (macht i.d.R. keinen funktionalen Unterschied, ist aber als einziges standardisiert). Dann solltest du überdenken, ob du wirklich echtes XHTML schreiben willst, wie die Endung .xhtml nahelegt. In dem Fall wird das Markup nämlich, sofern es der Browser kann, als XML verarbeitet und es gelten Sonderregeln. Zum Beispiel diese, dass das name-Attribut beim form-Element nicht so alleine stehen kann und eigentlich ein gleichnamiges id-Attribut nötig wäre.
Mathias