Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Checken dynamisch erzeugter Checkboxen via DOM?
Frage
Hallo!
Habe da mal ein mittelschweres Problem, welches fuer mich aufgrund mangelnder DOM-Kenntnisse kaum loesbar ist.
Es geht um folgenden HTML-Code, der zu pruefen ist:
[code]
<p align="right">Delete ThisParticipant <input type="checkbox" Name="<%="a"&i%>" value="a" onclick ="if (this.checked) {disableIt(´txtEmployeeID<%=i%>,txtName<%=i%>,txtEmail<%=i%>,txtPosition<%=i%>´)}else {enableIt(´txtEmployeeID<%=i%>,txtName<%=i%>,txtEmail<%=i%>,txtPosition<%=i%>´)}" > </td></tr>
<tr><td>Employee ID</td><td><input type=text name = "<%="txtEmployeeID"&i%>" ></td></tr>
<tr><td>Fullname</td><td><input type=text name = "<%="txtName"&i%>" ></td></tr>
<tr><td>Email</td><td><input type=text name = "<%="txtEmail"&i%>" ></td></tr>
<tr><td>Position/Function</td><td><input type=text name = "<%="txtPosition"&i%>" ></td></tr>
}[/code]
Wenn nun die Checkbox angewaehlt wurde, so soll der Javascripcode NICHT ausgefuehrt werden.
Wie kann ich das ueber entsprechende (DOM-)Zugriffe steuern???
Anstehend der generierte Code:
[code]
for (i=1;i<=<%=session("m")%>;i++)
{
//In folgender Zeile ist der Hund begraben
if (document.getElementsByName......... == "false")
{
frmvalidator.addValidation("txtEmployeeID"+i,"req","Please Fill Participant EmployeeID : "+i);
frmvalidator.addValidation("txtName"+i,"req","Please Fill ´Participant Name´: "+i);
frmvalidator.addValidation("txtEmail"+i,"req","Please Fill Participant ´Email´ : "+i);
frmvalidator.addValidation("txtEmail"+i,"email","Please Correct Participant ´Email´ : "+i);
frmvalidator.addValidation("txtPosition"+i,"req","Please Fill Participant ´Position´ : "+i);
}
}
[quote]
Antwort 1 von rfb
Zitat:
//In folgender Zeile ist der Hund begraben
if (document.getElementsByName......... == "false")
und du meinst wenn du aus der entscheidenen Zeile auch noch fast allen Inhalt durch ... ersetzt erhellt sich das Problem besser?//In folgender Zeile ist der Hund begraben
if (document.getElementsByName......... == "false")
Diese Quellcodefetzen reichen nicht zu einer Antwort.
Antwort 2 von ClemBra
Mir sieht es so aus, als ob die Checkboxen aus Sicht des Client/JavaScript nicht dynamisch erzeugt wurden, sondern sie wurden es per ASP, wovon Js nichts mitbekommt. Du kannst sie ganz normal über ihre Namen ansprechen
if (document.getElementsByName("a"+i)[0].checked == "false")
Soll ich raten: Du hast das [0] vergessen
siehe auch hier:
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements...
if (document.getElementsByName("a"+i)[0].checked == "false")
Soll ich raten: Du hast das [0] vergessen
siehe auch hier:
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements...
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Dynamisch erzeugte Checkboxen vorselektieren bei Korrektur
- Via JavaScript Checkboxen anhacken
- Excel Auswertung aus Checkboxen (Ergebnis: Wahr/Falsch) evtl. Makro
- wie kann ich zellen mit checkboxen in ein anderes tabellenblatt kopieren
- Zugriff auf Werte von Steuerelementen einer Userform aus externem Makro

