javascript, formularüberprüfung

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/javascript_formularueberpruefung_106886/page_1 - zur Vollversion wechseln!


unki schrieb am 12.02.2004 um 12:42

Ausgehend von diesem Beispiel:
js:

Code: PHP
function pruefen(){
	if(!document.register.berechtigung0.checked && !document.register.berechtigung1.checked && !document.register.berechtigung2.checked){
		alert("Sie haben keine Berechtigung vergeben!");
		return false;
}
html:
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">
So wie ich das hier habe funkt das ding ohne Probleme.
Jetzt benötige ich aber im "name" attribut ein array:
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">
somit funkt aber die Abfrage: if(!document.register.berechtigung[0] && ........) nimma!

Hat jemand vielleicht eine Idee???


atrox schrieb am 12.02.2004 um 13:01

in die inputs ein zusätzliches id= und dann ein getElementById() oder du versuchst, ob getElementsByName() mit [] klarkommt.


unki schrieb am 12.02.2004 um 13:14

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 schrieb am 12.02.2004 um 14:33

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 schrieb am 12.02.2004 um 15:26

fänx, das haut hin!!!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025