hi leute!
habe eine gruppe von checkboxen
<input type="checkbox" name="checkbox" value="1">
haben alle den selben namen und alle eine andere value
nun soll vor abschicken des formulars geprüft werden ob eine checkbox gesetzt wurde ( es können beliebig viele gesetzt sein jedoch min. eine muss gesetzt sein bevor das formular abgeschickt wird)
kann mir da jemand helfen ???
schau mal in den Thread über deinem, ist zwar noch fehlerhaft, aber es geht um das Prinzip ;)
hab folgendes script
var form = document.formular;
for(var i = 0; i < form.checkbox.length;i ++){
if(form.checkbox[i].checked == true);
{
alert("Schlform bzw. Schulformen angebeb!!");
}return false;
}
dieses prüft jedoch alle checkboxen durch
(dies wird wenn nur eine gesetzt ist aber mühsam)
will das nur eine meldung kommt wenn garkeine gesetzt ist .
dann mach mal so
function ValidateCheckbox() {
var form = document.formular;
for(var i = 0; i < form.checkbox.length;i ++){
if (form.checkbox[i].checked) return true;
}
alert('Bitte mindestens eine Auswahl treffen');
return false;
}
danke erst mal aber
wenn aber nun die checkboxen nicht so
<input type="checkbox" name="checkbox" value="xy">
sondern so
<input type="checkbox" name="checkbox[]" value="xy">
im formular erzeugt werden funkt dieses script
var form = document.formular;
for(var i = 0; i < form.checkbox.length;i ++){
if (form.checkbox[i].checked) return true;
}
alert('Bitte mindestens eine Auswahl treffen');
return false;
nicht mehr
müssen aber so <input type="checkbox" name="checkbox[]"
value="xy">
sein sonst funzt das php script das weiter hinten noch kommt nicht mehr
kannst mir da noch weiterhelfen ??
zur entschuldigung ist das erste mal das ich was mit js am hut habe
ich habs geahnt dass sowas kommt ;)
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name
d.h.:
es müsste so aussehen funkt aber nicht
var form = document.formular;
for(var i = 0; i < form.checkbox.length;i ++){
if(form.getElementsByName("checkbox["+i+"]")[0].checked) return true;
}
alert('Bitte mindestens eine Auswahl treffen');
return false;
schau dir mal wie name html-seitig definiert ist ;) und die Verwendung von getElementsByName :teach:
var form = document.formular;
for(var i = 0; i < form.checkbox.length;i ++){
if(form.getElementsByName("checkbox[]")[i].checked) return true;
}
alert('Bitte mindestens eine Auswahl treffen');
return false;
funzt aber auch nicht
danke für deine antworten auch wenns mit mir mühsam ist
for(var i = 0; i < document.getElementsByName("checkbox[]").length;i ++){
if(document.getElementsByName("checkbox[]")[i].checked) return true;
}
alert('Bitte mindestens eine Auswahl treffen');
return false;
so funkt das
danke nochmal für die mühe