MavMedlem sedan juni 2000117 inlägg Jag vill kolla att max 2 checkboxar är förkryssade i ett formulär. Mitt problem är att "name" på checkboxarna är olika, de heter "p_c1", "p_c2" osv.
Om de haft samma "name" hade jag kunnat använda följande kodsnutt men hur gör jag nu när de har olika "name"?
<html>
<head>
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.foo.bar[w].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>2){alert("Max 2 får bockas!"); return false}
}
//-->
</script>
</head>
<form name=foo onsubmit="return koll();">
1: <input type="checkbox" name="bar" value="A1" onclick="rakna(0);"><br>
2: <input type="checkbox" name="bar" value="A2" onclick="rakna(1)"><br>
3: <input type="checkbox" name="bar" value="A3" onclick="rakna(2)"><br>
4: <input type="checkbox" name="bar" value="A4" onclick="rakna(3)"><br>
5: <input type="checkbox" name="bar" value="A5" onclick="rakna(4)"><br>
<Input type="submit">
</form>
</html>
------------------
//Mav
JohnsenMedlem sedan juli 2000836 inlägg Räkna elementen i formuläret:
<head>
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.foo.elements[w].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>3){alert("Max 3 får bockas!"); return false}
}
//-->
</script>
</head>
<form name=foo onsubmit="return koll();">
1: <input type="checkbox" name="p_c1" value="A1" onclick="rakna(0);"><br>
2: <input type="checkbox" name="p_c2" value="A2" onclick="rakna(1)"><br>
3: <input type="checkbox" name="p_c3" value="A3" onclick="rakna(2)"><br>
4: <input type="checkbox" name="p_c4" value="A4" onclick="rakna(3)"><br>
5: <input type="checkbox" name="p_c5" value="A5" onclick="rakna(4)"><br>
<Input type="submit">
</form>
------------------
- J-O-H-N-S-E-N -
------------------
MavMedlem sedan juni 2000117 inlägg Det funkar inte...verkar som om att den inte kollar överhuvudtaget!? Jag kan skicka formuläret utan att kontroll görs.
------------------
//Mav
MavMedlem sedan juni 2000117 inlägg Kan det bero på att jag har en del fält innan checkboxarna?
------------------
//Mav
JohnsenMedlem sedan juli 2000836 inlägg Japp, kolla här:
<form name="foo"> -->> forms[0]
<input type="text" name="text" value="A1"> -->> elements[0]
<input type="checkbox" name="p_c1" value="A2"> -->> elements[1]
<Input type="submit"> -->> elements[2]
</form>
------------------
- J-O-H-N-S-E-N -
------------------
MavMedlem sedan juni 2000117 inlägg Får det inte att funka ändå. Skriver man inte någont såhär:
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.register.elements[5].checked==true)? n++ : n--;
(document.register.elements[6].checked==true)? n++ : n--;
(document.register.elements[7].checked==true)? n++ : n--;
(document.register.elements[8].checked==true)? n++ : n--;
(document.register.elements[9].checked==true)? n++ : n--;
(document.register.elements[10].checked==true)? n++ : n--;
(document.register.elements[11].checked==true)? n++ : n--;
(document.register.elements[12].checked==true)? n++ : n--;
(document.register.elements[13].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>2){alert("Max 2 får bockas!"); return false}
}
//-->
</script>
....
<form action="" method="post" name="register" onsubmit="return check()">
<input type="hidden" name="p_c1" value="ON">
<input type="text" name="aaa" size="40">
<input type="text" name="bbb" size="40">
<input type="text" name="ccc" size="40">
<input type="text" name="ddd" size="40">
....
<input type="checkbox" name="p_c2" value="ON" onclick="rakna(0)">
<input type="checkbox" name="p_c3" value="ON" onclick="rakna(0)">
<input type="checkbox" name="p_c4" value="ON" onclick="rakna(0)">
<input type="checkbox" name="p_c5" value="ON" onclick="rakna(0)">
osv...
------------------
//Mav
JohnsenMedlem sedan juli 2000836 inlägg Nja...
Så här:
<head>
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.foo.elements[w].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>3){alert("Max 3 får bockas!"); return false}
}
//-->
</script>
</head>
<form action="" method="post" name="register" onsubmit="return check()">
<input type="hidden" name="p_c1" value="ON">
<input type="text" name="aaa" size="40">
<input type="text" name="bbb" size="40">
<input type="text" name="ccc" size="40">
<input type="text" name="ddd" size="40">
<input type="checkbox" name="p_c2" value="ON" onclick="rakna(5)">
<input type="checkbox" name="p_c3" value="ON" onclick="rakna(6)">
<input type="checkbox" name="p_c4" value="ON" onclick="rakna(7)">
<input type="checkbox" name="p_c5" value="ON" onclick="rakna(8)">
...
------------------
- J-O-H-N-S-E-N -
------------------
MavMedlem sedan juni 2000117 inlägg Funkar kanon nu men jag har ett annat problem. Har 2 script, ett som kontrollerar att alla fält är ifyllda och sedan det som kollar att endast 2 boxar är förkryssade. Problemet är att bara första kontrollen görs. Varför?
<script language="JavaScript">
<!-- Dölj
// Först här namnet på funktionen ( kontrollera ).
function kontrollera() {
// Här kontrolleras fältet namn så att det inte är tomt.
if (document.register.namn.value == "")
{
alert("Du har ej angett namn!")
return false;
}
// Här kontrolleras fältet adress så att det inte är tomt.
if (document.register.adr_1.value == "")
{
alert("Du har ej angett adress!")
return false;
}
// Här kontrolleras fältet ort så att det inte är tomt.
if (document.register.ADR_2.value == "")
{
alert("Du har ej angett ort!")
return false;
}
// Här kontrolleras fältet epost så att det innehåller tecknet @.
if (document.register.EMAIL.value == "" ||
document.register.EMAIL.value.indexOf('@', 0) == -1)
{
alert("Ogiltig E-Post adress!"); return false;
}
}
// -->
</SCRIPT>
<script language="JavaScript">
<!--
n=0
function rakna(w){
(document.register.elements[w].checked==true)? n++ : n--;
}
function koll(){
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>2){alert("Max 2 får bockas!"); return false}
}
//-->
</script>
...
<form action="http://" method="post" name="register">
....
<input type="submit" value="GO" onclick="return kontrollera(); koll()" style="font-family: Verdana; font-size: 8pt">
------------------
//Mav
JohnsenMedlem sedan juli 2000836 inlägg <html>
<head>
<script language="JavaScript">
<!-- Dölj
n=0
function rakna(w){
(document.register.elements[w].checked==true)? n++ : n--;
}
function kontrollera() {
if (document.register.namn.value == ""){alert("Du har ej angett namn!"); return false;}
if (document.register.adr_1.value == ""){alert("Du har ej angett adress!"); return false;}
if (document.register.ADR_2.value == ""){alert("Du har ej angett ort!"); return false;}
if (document.register.EMAIL.value == "" || document.register.EMAIL.value.indexOf('@', 0) == -1){
alert("Ogiltig E-Post adress!"); return false; }
if(n<2){alert("Minst 2 måste bockas!"); return false}
if(n>2){alert("Max 2 får bockas!"); return false}
}
//-->
</script>
</head>
<form action="http://" method="post" name="register" onsubmit="return kontrollera();">
<input type="text" name="namn"><br>
<input type="text" name="adr_1"><br>
<input type="text" name="ADR_2"><br>
<input type="text" name="EMAIL"><br>
<input type="checkbox" name="p_c1" value="A1" onclick="rakna(4)"><br>
<input type="checkbox" name="p_c2" value="A2" onclick="rakna(5)"><br>
<input type="checkbox" name="p_c3" value="A3" onclick="rakna(6)"><br>
<input type="checkbox" name="p_c4" value="A4" onclick="rakna(7)"><br>
<input type="checkbox" name="p_c5" value="A5" onclick="rakna(8)"><br>
<input type="submit" value="GO" style="font-family: Verdana; font-size: 8pt">
</form>
------------------
- J-O-H-N-S-E-N -
------------------
MavMedlem sedan juni 2000117 inlägg Funkar kanon!!!
Tusen tack!!
------------------
//Mav