Abfrage ob Element existiert
joah.
- javascript
Hallo!
Ich habe eine Frage, und zwar:
Ich habe in einer Datenbank 5 Einträge, für jeden Eintrag erstelle ich eine Checkbox e1 - e5.
Nun möchte ich abfragen, wieviele der Fehler gecheckt sind.
Wenn ich es immer auf 5 mache funktioniert es.
Nun sind es aber nicht immer 5 Elemente, manchmal sind es nur 3 oder sogar nur 2.
----
if (document.forms[0].e1.checked) {
anzahl++;
}
if (document.forms[0].e2.checked) {
anzahl++;
}
if (document.forms[0].e3.checked) {
anzahl++;
}
if (document.forms[0].e4.checked) {
anzahl++;
}
if (document.forms[0].e5.checked) {
anzahl++;
}
alert(anzahl);
---
anzahl = 0;
for(i=1; i <= $anzahl;i++){
if ('document.forms[0].e'+i+'.checked') {
anzahl++;
}
}
alert(anzahl);
---
an die if-struktur scheint er aber nicht dranzukommen. Ist das überhaupt möglich? Kann mir jmd. weiterhelfen?
Danke!
Muß mich ergänzen: er kommt an die If-struktur läuft aber immer rein, das ist ja falsch! also er ignoriert ob die checkboxen gecheckt sind oder nicht.
Ich habe in einer Datenbank 5 Einträge, für jeden Eintrag erstelle ich eine Checkbox e1 - e5.
du hast 2 Möglichkeiten.
1. Benennne alle Gleich:
<form>
<input type="chebox" name="e">
<input type="chebox" name="e">
<input type="chebox" name="e">
<input type="chebox" name="e">
</form>
Jetzt kannst du auf die Elemente direkt als array zu greifen:
var l = document.forms[0].e.length
for(var i = 0; i < l; i++)
{
if ( document.forms[0].e[i].checked)
}
2. du baust dir den Namen zusammen:
var name = 'e';
var i = 1;
while(document.forms[0].elements[name])
{
if ( document.forms[0].elements[name])
}
Struppi.
Danke für deine Hilfe, ich habs in der Zwischenezeit lösen können.
Über
if (document.forms[0].elementName) {
alert("Element 'elementName' existiert!";
}
if (document.forms[0].elementName) {
alert("Element 'elementName' existiert!";
}
Das ist nicht die Lösung deines Problems. wenn elementName ein string, wird das nicht funktionieren.
Struppi.