javascript, formularüberprüfung
unki 12.02.2004 - 12:42 603 4
unki
Little Overclocker
|
Ausgehend von diesem Beispiel: js: function pruefen(){
if(!document.register.berechtigung0.checked && !document.register.berechtigung1.checked && !document.register.berechtigung2.checked){
alert("Sie haben keine Berechtigung vergeben!");
return false;
}
html: <form action = "--" method = "POST" name = "register" onSubmit ="return pruefen();">
<input type = "checkbox" name = "berechtigung0" value = "3">
<input type = "checkbox" name = "berechtigung1" value = "2">
<input type = "checkbox" name = "berechtigung2" value = "1">
So wie ich das hier habe funkt das ding ohne Probleme. Jetzt benötige ich aber im "name" attribut ein array: <input type = "checkbox" name = "berechtigung[0]" value = "3">
<input type = "checkbox" name = "berechtigung[1]" value = "2">
<input type = "checkbox" name = "berechtigung[2]" value = "1">
somit funkt aber die Abfrage: if(!document.register.berechtigung[0] && ........) nimma! Hat jemand vielleicht eine Idee???
Bearbeitet von unki am 12.02.2004, 15:26
|
atrox
in fairy dust... I trust!
|
in die inputs ein zusätzliches id= und dann ein getElementById() oder du versuchst, ob getElementsByName() mit [] klarkommt.
|
unki
Little Overclocker
|
meinst du etwa so: <input type = "checkbox" name = "berechtigung[0]" id = "0" value = "3">
und: if(!document.register.berechtigung.getElementById(0).checked && ...
wahrscheinlich nicht, denn so funkts leider nicht :-(
|
Rektal
Here to stay
|
IDs sind in diesem Fall eindeutige Identifier, die aber nicht mit einer Zahl beginnen duerfen. Gueltige Beispiele sind z.B. <input id="berechtigung-0" ... <input id="Berechtigung0" ... und dann in Javascruipt if (!document.getElementById('Berechtigung0').checked) { // then } D.h., getElementById ist eine Funktion des Documents, es arbeitet immer auf das gesammte Dokument. Darum duerfen gleiche IDs auch nicht zwei mal in einem Dokument vergeben werden. Du musst also nicht wissen wie z.B. dein forumular heisst; dein input-Element hat eine eindeutige ID, damit kannst du sie fuer das Dokument global von ueberall aus mit document.getElementById referenzieren. Die anderen erwaehnten Methoden wie getElementsByName oder getElementsByTagName funktionieren aehnlich, mehr unter http://www.w3.org/DOM/DOMTR
|
unki
Little Overclocker
|
fänx, das haut hin!!!
|