Har massa checkboxar där man med javascript vill kolla hur många boxar man fyllt i. Man ska bara kunna välja 2 av dessa och om man försöker välja en till så säger den att man bara fåt välja 2.
Hjälp tack :)
11 svar · 342 visningar · startad av Asa
Har massa checkboxar där man med javascript vill kolla hur många boxar man fyllt i. Man ska bara kunna välja 2 av dessa och om man försöker välja en till så säger den att man bara fåt välja 2.
Hjälp tack :)
Tackar :)
Hur lägger jag in denna:
function checkboxcheck(obj){
var nn=0;
for(var n=0;n<obj.length;n++){
nn+=(obj[n].type=="checkbox"&&obj[n].checked)?1:0;
}
return(nn);
}
i denna:
function SaveRest(){
var elm = document.forms["form"].elements;
if (document.form.namn.value==""){
alert("Du glömde restaurangens namn!");
return false;
} else if (document.form.adress.value==""){
alert("Du glömde skriva restaurangens adress!");
return false;
} else if (document.form.tel.value==""){
alert("Du glömde skriva restaurangens telefonnummer!");
return false;
} else if (!/^(([\w])+([\.]){1})*([\w])+@([\w])+(([\.]{1})([A-Za-z]){2,4})+$/.test(elm["email"].value)) {
alert("Du glömde skriva företagets email eller så är ej korrekt!");
return false;
} else if (!document.form.[url]www.value==[/url]""){
if (!/^http:\/\//.test(elm["www"].value)) {
alert("Hemsideadressen måste börja med [url]http://[/url]");
return false;
}
} else if (document.form.postnr.value==""){
alert("Du glömde skriva restaurangens postnr!");
return false;
} else if (document.form.ort.value==""){
alert("Du glömde skriva restaurangens ort!");
return false;
}
}
...
} else if (checkboxcheck(document.forms["form"])!=2){
alert("Du måste markera 2 checkboxar.");
return false;
...
Tack :)
Men verkar ej funka :( Om man fyllt i fler än 2 ska alerten komma fram. Men din kod så kommer inget alls fram fast jag ej fyllt i nån! För din kollar ju att man måste fylla i minst 2.
Detta då?
} else if (checkboxcheck(document.forms["form"])>2){
alert("Du får max fylla i 2 checkboxar.");
return false;
Har redan testat det. Får inge javascriptfel eller alerten där det ska stå att man max får fylla i 2.
Jag läste det som att det bara fick vara 2, varken mer eller mindre. Mitt fel. Men annars ska det fungera. Exempel där bara checkbox-kollen är inlagt.
<script type="text/javascript">
function checkboxcheck(obj){
var nn=0;
for(var n=0;n<obj.length;n++){
nn+=(obj[n].type=="checkbox"&&obj[n].checked)?1:0;
}
return(nn);
}
function SaveRest(){
if (checkboxcheck(document.forms["form"])>2){
alert("Du får max fylla i 2 checkboxar.");
return false;
}
}
</script>
<form action="foo.asp" onsubmit="return SaveRest();" name="form">
<input type="checkbox" name="a">
<input type="checkbox" name="b">
<input type="checkbox" name="c">
<input type="checkbox" name="d">
<input type="submit" value="Skicka">
</form>
Eller är det så att du bara vill kolla checkboxar med ett visst namn? I så fall blir det så här:
<script type="text/javascript">
function checkboxcheck(obj,name){
var nn=0;
for(var n=0;n<obj.length;n++){
nn+=(obj[n].type=="checkbox"&&obj[n].checked&&(!name||name==obj[n].name))?1:0;
}
return(nn);
}
function SaveRest(){
if (checkboxcheck(document.forms["form"],"a")>2){
alert("Du får max fylla i 2 checkboxar.");
return false;
}
}
</script>
<form action="foo.asp" onsubmit="return SaveRest();" name="form">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="submit" value="Skicka">
</form>
Tackar, det sista vare.