URL: https://www.overclockers.at/coding-stuff/javascript_formularueberpruefung_106886/page_1 - zur Vollversion wechseln!
Ausgehend von diesem Beispiel:
js:
html:Code: PHPfunction pruefen(){ if(!document.register.berechtigung0.checked && !document.register.berechtigung1.checked && !document.register.berechtigung2.checked){ alert("Sie haben keine Berechtigung vergeben!"); return false; }
So wie ich das hier habe funkt das ding ohne Probleme.Code: PHP<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">
somit funkt aber die Abfrage: if(!document.register.berechtigung[0] && ........) nimma!Code: PHP<input type = "checkbox" name = "berechtigung[0]" value = "3"> <input type = "checkbox" name = "berechtigung[1]" value = "2"> <input type = "checkbox" name = "berechtigung[2]" value = "1">
in die inputs ein zusätzliches id= und dann ein getElementById() oder du versuchst, ob getElementsByName() mit [] klarkommt.
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 :-(
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
fänx, das haut hin!!!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025