Bezeichnung einer CheckBox auslesen
javacls
- javascript
Hallo,
ich will die Bezeichnung (links von der CheckBox) auslesen.
<input type="checkbox" name="chk01"> Das ist ein Test<br>
Wie erhalte ich jetzt die Bezeichnung "Das ist ein Test" zurück?
alert (document.Form1.chk01.???);
Steffan
@@javacls:
ich will die Bezeichnung (links von der CheckBox) auslesen.
<input type="checkbox" name="chk01"> Das ist ein Test<br>Wie erhalte ich jetzt die Bezeichnung "Das ist ein Test" zurück?
"Das ist ein Test" soll doch sicher ein http://de.selfhtml.org/html/formulare/strukturieren.htm#label@title=Label sein, oder?
<label><input type="checkbox" name="chk01">Das ist ein Test</label>
alert(document.Form1.chk01.parentNode.firstChild.nextSibling.nodeValue);
Live long and prosper,
Gunnar
Hallo Gunnar,
danke für die Hilfe.
Es funktioniert. Ich habe auf meiner Form mehrere CheckBoxen.
Es wird aber immer nur das Label von der ersten CheckBox angezeigt,
obwohl ich z.B. die dritte CheckBox ausgewählt habe.
Die CheckBox durchlaufe ich mit einer for-Schleife und der Variable i.
Ich nehme an, dass firstChild geändert werden muss. Aber wie?
alert(document.Form1.chk01.parentNode.firstChild.nextSibling.nodeValue);
Steffan
Hallo,
Es funktioniert. Ich habe auf meiner Form mehrere CheckBoxen.
Es wird aber immer nur das Label von der ersten CheckBox angezeigt,
obwohl ich z.B. die dritte CheckBox ausgewählt habe.
Die CheckBox durchlaufe ich mit einer for-Schleife und der Variable i.
Ich nehme an, dass firstChild geändert werden muss. Aber wie?
Du könntest auch alle Labels des Formulars durchlaufen und das for-Attribut prüfen:
function getLabel(formElement){
for (var i = 0; i < formElement.form.elements.length; i++){
if (formElement.form.elements[i].htmlFor == formElement.id)
return formElement.form.elements[i];
}
return null;
}
alert(getLabel(form.elements.deinElement).firstChild.nodeValue)
~~~;
mfg. Daniel
--
[Selfcode](http://forum.de.selfhtml.org/cgi-bin/selfcode.pl): [ie:{ fl:( br:> va:) ls:& fo:) rl:( n4:# ss:) de:> js:) mo:} zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%26+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%3E+js%3A%29+mo%3A%7D+zu%3A%7D)
@@Daniel Richter:
Du könntest auch alle Labels des Formulars durchlaufen und das for-Attribut prüfen:
Wenn es ein solches gibt, was bei meinem Markup nicht der Fall ist. (Muss auch nicht, da 'input' in 'label' liegt.)
Live long and prosper,
Gunnar
[latex]Mae govannen![/latex]
Du könntest auch alle Labels des Formulars durchlaufen und das for-Attribut prüfen:
Wenn es ein solches gibt, was bei meinem Markup nicht der Fall ist. (Muss auch nicht, da 'input' in 'label' liegt.)
Sollte es aber, da sonst in IE6 die Funktionalität des Labels nicht gegeben ist.
http://www.kaichen.in/test/labels/
Cü,
Kai
Hallo,
da sonst in IE6 die Funktionalität des Labels nicht gegeben ist.
Würde mich sehr wundern. Im IE 7 gehts zumindest. Kann das nochmal jemand verifizieren, sowohl in 6 als auch in 7?
Mathias
Hallo molily
Würde mich sehr wundern. Im IE 7 gehts zumindest. Kann das nochmal jemand verifizieren, sowohl in 6 als auch in 7?
Im IE 6 gehts nur mit for.
Auf Wiederlesen
Detlef
@@Detlef G.:
Im IE 6 gehts nur mit for.
Nein, kann ich nicht bestätigen. <label><input type="checkbox" name="chk01">Das ist ein Test</label>
funktioniert im IE 6 (Win 2k, falls das eine Rolle spielt).
Live long and prosper,
Gunnar
Hallo Gunnar
Nein, kann ich nicht bestätigen.
<label><input type="checkbox" name="chk01">Das ist ein Test</label>
funktioniert im IE 6 (Win 2k, falls das eine Rolle spielt).
Seltsam, IE 6.0.2900.2180.xsp_sp2_qfe.070227-2300 unter XP setz das Häkchen nur, wenn die Checkbox direkt angeklickt wird. Mit for-Attribut setzt er es auch beim Anklicken des Textes.
Auf Wiederlesen
Detlef
@@Detlef G.:
Seltsam, IE 6.0.2900.2180.xsp_sp2_qfe.070227-2300 unter XP setz das Häkchen nur, wenn die Checkbox direkt angeklickt wird. Mit for-Attribut setzt er es auch beim Anklicken des Textes.
Der IE 6 unter XP ist wahrhaft seltsam:
Ich hab auf einer Seite eine Tabelle der Art
<table>
<thead>
<tr>
<th>Artikel</th>
<th>Anzahl</th>
<th>Stückpreis</th>
<th>Preis</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3">Gesamtsumme</th>
<td>42 €</td>
</tr>
</tfoot>
<tbody>
<tr>
<th>Artikel 1</th>
<td>3</td>
<td>4 €</td>
<td>12 €</td>
</tr>
<tr>
<th>Artikel 2</th>
<td>5</td>
<td>6 €</td>
<td>30 €</td>
</tr>
</tbody>
</table>
Bildschirmansicht OK; aber beim Audrucken fehlt die Angabe des Gesamptpreises "42 €". :-(
Hab auch noch keine Idee, wie man den Bug umgehen könnte.
Live long and prosper,
Gunnar
[latex]Mae govannen![/latex]
Nein, kann ich nicht bestätigen.
<label><input type="checkbox" name="chk01">Das ist ein Test</label>
funktioniert im IE 6 (Win 2k, falls das eine Rolle spielt).Seltsam, IE 6.0.2900.2180.xsp_sp2_qfe.070227-2300 unter XP setz das Häkchen nur, wenn die Checkbox direkt angeklickt wird. Mit for-Attribut setzt er es auch beim Anklicken des Textes.
Jepp. Gleiches Spiel mit 6.0.2900.5512 (Win XP SP3) Es funktioniert einfach nicht ohne for=
Cü,
Kai
Hallo Kai
Jepp. Gleiches Spiel mit 6.0.2900.5512 (Win XP SP3) Es funktioniert einfach nicht ohne
for=
Genauso 6.0.2800.1106 unter wine.
Auf Wiederlesen
Detlef
[latex]Mae govannen![/latex]
Jepp. Gleiches Spiel mit 6.0.2900.5512 (Win XP SP3) Es funktioniert einfach nicht ohne
for=
Genauso 6.0.2800.1106 unter wine.
Danke für die Tests. Aber auf mich hört hier ja niemand ;)
Cü,
Kai
@@javacls:
Es funktioniert. Ich habe auf meiner Form mehrere CheckBoxen.
Es wird aber immer nur das Label von der ersten CheckBox angezeigt,
obwohl ich z.B. die dritte CheckBox ausgewählt habe.
Die denselben Wert des 'name'-Attribut hat, weil sie zur selben Gruppe gehört?
Präzisiere mal deine Frage! Was heißt „ich will die Bezeichnung (links von der CheckBox) auslesen“? Wann soll das geschehen?
Live long and prosper,
Gunnar