Ich versuch jetzt seit Stunden Javascript dazu zu bringen mir
eine Checkbox durch anklicken des Textes daneben anwählen zu lassen,
aber ich bekomm nur diese Fehlermeldung:
Fehler: document.mmm.bezuschussung[0] has no properties
Quelltext:
<form name="mmm" action="index.php" method="POST">
....
<input class="checkbox" name="bezuschussung" type="checkbox" value="1">
<span onClick="document.mmm.bezuschussung[0].click()">
Ich beauftrage den...</span>
Irgendwie findet er wohl das Feld nicht.
Wie kann ich mir den DOM-Baum übersichtlich darstellen lassen.
Der DOM-Inspector von Mozilla wirft ja nur so mit Informationen um
sich, aber eine einfach Darstellung der Abhängigkeiten konnte ich
ihm bis jetzt noch nicht entlocken.
Bitte helft mir. Verzweifelt bin.
Mfg Sebastian.
Sebastian Christoph Marcel Richard Maria Grödel-Wiehthaler wrote:
> Wie kann man sich die DOM Struktur einer HTML Seite anzeigen lassen?
Zum Beispiel mit dem DOM Inspector in Mozilla oder Netscape (7), unter
Tools->Web Development->DOM Inspector
> Ich versuch jetzt seit Stunden Javascript dazu zu bringen mir
> eine Checkbox durch anklicken des Textes daneben anwählen zu lassen,
> aber ich bekomm nur diese Fehlermeldung:
>
> Fehler: document.mmm.bezuschussung[0] has no properties
>
>
> Quelltext:
>
> <form name="mmm" action="index.php" method="POST">
>
> ....
>
> <input class="checkbox" name="bezuschussung" type="checkbox" value="1">
> <span onClick="document.mmm.bezuschussung[0].click()">
> Ich beauftrage den...</span>
Warum nicht einfach
<label><input type="checkbox" ...>
Ich beauftrage den...</label>
? Zumindest in Mozilla oder Opera Browsern kann man dann den Label-Text
clicken, um die checkbox selbst zu clicken.
> Irgendwie findet er wohl das Feld nicht.
Wenn es nur ein Element mit name="bezuschussung" in dem Formular gibt,
dann halt
document.mmm.elements.bezuschussung.click();
--
Martin Honnen
http://JavaScript.FAQTs.com/
>> Wie kann man sich die DOM Struktur einer HTML Seite anzeigen lassen?
>
>
> Zum Beispiel mit dem DOM Inspector in Mozilla oder Netscape (7), unter
> Tools->Web Development->DOM Inspector
Den find ich nicht gut, ich find da drin nichts. Oder gibt es da irgendwo
einen Schalter, um eine wirklich übersichtliche Ansicht einzuschalten, in
der man etwas in der Form document.formularname.inputnamen ablesen kann?
>
>> Ich versuch jetzt seit Stunden Javascript dazu zu bringen mir
>> eine Checkbox durch anklicken des Textes daneben anwählen zu lassen,
>> aber ich bekomm nur diese Fehlermeldung:
>>
>> Fehler: document.mmm.bezuschussung[0] has no properties
>>
>>
>> Quelltext:
>>
>> <form name="mmm" action="index.php" method="POST">
>>
>> ....
>>
>> <input class="checkbox" name="bezuschussung" type="checkbox" value="1">
>> <span onClick="document.mmm.bezuschussung[0].click()">
>> Ich beauftrage den...</span>
>
>
> Warum nicht einfach
> <label><input type="checkbox" ...>
> Ich beauftrage den...</label>
> ? Zumindest in Mozilla oder Opera Browsern kann man dann den Label-Text
> clicken, um die checkbox selbst zu clicken.
>
>> Irgendwie findet er wohl das Feld nicht.
>
>
> Wenn es nur ein Element mit name="bezuschussung" in dem Formular gibt,
> dann halt
> document.mmm.elements.bezuschussung.click();
So geht es, aber
ich würde gerne mit Javascript dynamisch weitere Eingabeformulare (Kind 2 Kind 3 Kind 4 usw)
dem Dokument hinzufügen.
Und ich hab grad feststellen müssen, dass Javascript dieses "Feld" bezuschussung[a]
anscheinend erst ab zwei identischen namen im Dokument anlegt. Ist das richtig?
Ich brauch das leider, weil es auch mit dem ****** IE funktionieren muss.
Mfg Sebastian.
Sebastian Christoph Marcel Richard Maria Grödel-Wiehthaler wrote:
> Martin Honnen schrieb:
>
>>> Wie kann man sich die DOM Struktur einer HTML Seite anzeigen lassen?
>>
>>
>>
>> Zum Beispiel mit dem DOM Inspector in Mozilla oder Netscape (7), unter
>> Tools->Web Development->DOM Inspector
>
>
> Den find ich nicht gut, ich find da drin nichts.
Das Ding zeigt dir die DOM-Baumstruktur an, so die dir nichts sagt, nun gut.
> Oder gibt es da irgendwo
> einen Schalter, um eine wirklich übersichtliche Ansicht einzuschalten, in
> der man etwas in der Form document.formularname.inputnamen ablesen kann?
Man kann fuer einen Knoten im DOM-Baum rechts jeweils unterschiedliche
Anzeigenarten waehlen, unter anderem JavaScript object, da werden dann
schon Eigenschaften eines Script-Objektes angezeigt.
Aber natuerlich kann dir kein DOM-Inspector genau "den" Pfad anzeigen,
weil es viele verschiedene Moeglichkeiten gibt, von einem Knoten zu
einen anderen zu kommen.
>> Wenn es nur ein Element mit name="bezuschussung" in dem Formular gibt,
>> dann halt
>> document.mmm.elements.bezuschussung.click();
>
>
> So geht es, aber
>
> ich würde gerne mit Javascript dynamisch weitere Eingabeformulare (Kind
> 2 Kind 3 Kind 4 usw)
> dem Dokument hinzufügen.
> Und ich hab grad feststellen müssen, dass Javascript dieses "Feld"
> bezuschussung[a]
> anscheinend erst ab zwei identischen namen im Dokument anlegt. Ist das
> richtig?
Richtig. Ich wuerde schon <label> benutzen, und dann das zugehoerige
<input> control suchen, du kannst ja id-Attribute verwenden, z.b.
<input type="checkbox" name="bezuschussung" id="cb1" value="whatever">
<label for="cb1"
onclick="if (this.form) {
var control = this.form.elements[this.htmlFor];
if (control && control.click) {
control.click();
}
}">...</label>
Koennte allerdings dann in Mozilla oder Opera Probleme geben, dass durch
zwei ausgeloeste Clicks der Effekt eliminiert wird.
Danke für die Hinweise.
Mfg Sebastian.