SonicBe@m
Erfahrenes Mitglied
Hy leute
also ich hab momentan ein javascript welches nicht so will wie ich mir das vorstelle
es geht darum das ich ein javascript schreiben möchte bzw angefangen habe was auf einer seite unabhängig davon wieviele checkboxen es gibt und unabhängig wieviele gruppen es davon gibt
jede gruppe darrauf abprüft ob minderstens eine checkbox geklickt wurde
die einzige sache die ich sagen kann was man haben darf ist im html ein weieres attribut bei den checkboxen (group = "xy")
ich paste mal meinen code vom js
die funktion soll in erster linie nichts anderes machen als die gruppen in ein array zu werfen und diese dann zu überprüfen
kenn ihr ne möglichkeit es einfacher zu gestalten?
mom hab ich nen echtes prob
leider werd ich dazu gezwungen da ich etwas in xml xsl machen soll und die groups als string exestieren also nicht vortlaufen sind
das einzige was bei der methode ausgeführt werden soll ist sie selbst und dass ohne argumente
also nur noch
checkBoxen()
und schon gibt er true oder false zurrück je nachdem ob in allen groupen minderstens ein feld angeklickt wurde oder in einer nichts angewählt wurde
um auf das attribut einzugehen
<input type="checkbox" name="xy" value="xy" group="xy">
der name ist immer unterschiedlich nur die groupe kann öfters vorkommen aber muss min 2 boxen enthalten
wäre euch super dankbar wenn ihr mir helfen könntet
in diesem js häng ich leider am ende da irrgend wie nicht das passiert was ich mir vorstelle
also ich hab momentan ein javascript welches nicht so will wie ich mir das vorstelle
es geht darum das ich ein javascript schreiben möchte bzw angefangen habe was auf einer seite unabhängig davon wieviele checkboxen es gibt und unabhängig wieviele gruppen es davon gibt
jede gruppe darrauf abprüft ob minderstens eine checkbox geklickt wurde
die einzige sache die ich sagen kann was man haben darf ist im html ein weieres attribut bei den checkboxen (group = "xy")
ich paste mal meinen code vom js
PHP:
function checkCheckBoxGroups(){
docLength = document.getElementsByTagName('input').length;
questions = new Array();
question = "";
for(i=0;i<docLength;i++){
elem = document.getElementsByTagName('input')[i];
if(elem.type == "checkbox"){
if(question != elem.name){
question = elem.name;
questions.push(elem);
}
}
}
groups= new Array();
for(i=0;i<questions.length;i++){
if(groups.length == 0)
groups.push(questions[i].group);
if(i < questions.length-1){
// alert(questions[i].name);
if(questions[i].group != questions[i+1].group){
// alert(questions[i].group);
groups.push(questions[i].group);
}
}
if(i+1 == questions.length){
// alert(questions[i].name);
if(questions[i].group != questions[i-1].group)
groups.push(questions[i].group);
}
}
for(i=1;i<=groups.length;i++){
checkedGroups=0;
for(j=0;j<questions.length;j++){
if(questions[j].group == groups[i-1]){
if(questions[j].checked)
checkedGroups++;
}
}
if(checkedGroups == 0)
return false;
}
return true;
}
die funktion soll in erster linie nichts anderes machen als die gruppen in ein array zu werfen und diese dann zu überprüfen
kenn ihr ne möglichkeit es einfacher zu gestalten?
mom hab ich nen echtes prob
leider werd ich dazu gezwungen da ich etwas in xml xsl machen soll und die groups als string exestieren also nicht vortlaufen sind
das einzige was bei der methode ausgeführt werden soll ist sie selbst und dass ohne argumente
also nur noch
checkBoxen()
und schon gibt er true oder false zurrück je nachdem ob in allen groupen minderstens ein feld angeklickt wurde oder in einer nichts angewählt wurde
um auf das attribut einzugehen
<input type="checkbox" name="xy" value="xy" group="xy">
der name ist immer unterschiedlich nur die groupe kann öfters vorkommen aber muss min 2 boxen enthalten
wäre euch super dankbar wenn ihr mir helfen könntet
in diesem js häng ich leider am ende da irrgend wie nicht das passiert was ich mir vorstelle