Avatar billede holckie Nybegynder
03. maj 2004 - 09:25 Der er 5 kommentarer og
1 løsning

Validering af mindst én checkbox

Hej!

Er det nogle der nogle der kan hjælpe mig med, hvordan jeg valdidere på, om mindst én checkbox er udfyldt?

Jeg har to checkboxe og brugeren skal have mulighed for at udfylde én checkbox eller dem begge.

-------------------------------------
her kommer koden:

<html>
<head>
<title>Tilmelding til kundepanel</title>

<script language="javascript">
<!-- skjuler scriptet fra ældre browsere
         
function validering(em) {
Navn = document.em.Navn.value;
if  (Navn.length <1) {
alert ("Indtast venligst dit navn");
document.em.Navn.focus();
return false;
}

Adresse = document.em.Adresse.value;
if  (Adresse.length <1) {
alert ("Indtast venligst din adresse");
document.em.Adresse.focus();
return false;
}

Postnr = document.em.Postnr.value;
for (t=0; t<Postnr.length; t++) {

Postnr2 = Postnr.charAt (t);
if (! (Postnr2 >="0" && Postnr2 <="9")) {
alert ("Indtast venligst dit postnummer. Postnummeret må kun indeholde tal");
document.em.Postnr.focus();
return false;
}
}

if (Postnr.length !=4) {
alert ("Indtast venligst dit postnummer. Postnummeret skal bestå af 4 cifre");
document.em.Postnr.focus();
return false;
}

By = document.em.By.value;
if  (By.length <1) {
alert ("Indtast venligst din by");
document.em.By.focus();
return false;
}

Telefon = document.em.Telefon.value;
for (t=0; t<Telefon.length; t++) {

Telefon2 = Telefon.charAt (t);
if (! (Telefon2 >="0" && Telefon2 <="9")) {
alert ("Indtast venligst dit telefonnummer. Telefonnummeret må kun indeholde tal");
document.em.Telefon.focus();
return false;
}
}

if  (Telefon.length <8) {
alert ("Indtast venligst dit telefonnummer indeholdende mindst 8 cifre");
document.em.Telefon.focus();
return false;
}

Email = document.em.Email.value;
if (Email == ""){
alert ("Indtast venligst din email-adresse");
document.em.Email.focus();
return false;
}

Email2 = Email.split ("@")
if (!(Email2.length ==2 && Email2[0].length >0 && Email2[1].length >0)) {
alert ("Email-adressen skal indeholde et @");
document.em.Email.focus();
return false;
}

Email3 = Email2[1].split (".")
Email3l = Email3.length;
if (Email3l <2) {
alert ("Email-adressen skal indeholde et punktum");
document.em.Email.focus();
return false;
}

for (t=0; t<Email3l; t++) {
if (Email3[t].length == 0) {
alert ("Email-adressen skal indeholde et punktum efterfulgt af mindst 2 bogstaver");
document.em.Email.focus();
return false;
}

if (t == (Email3l -1)) {
if (Email3[t].length <2) {
alert ("Email-adressen skal indeholde mindst 2 bogstaver efter punktum");
document.em.Email.focus();
return false;
}
}
}

document.em.action += "?subject=Bestilling af kundepanel";
alert("Din bestilling vil nu blive afsendt!");
return true;
}

// slut på kommentar, der skjuler scriptet for ældre browsere -->
</script>

<style>
p {
    font-size: 10pt;
    font-family: Verdana, Helvetica, Arial;
}

TD {
    font-size: 10pt;
    font-family: Verdana, Helvetica, Arial;
}
</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body onLoad="em.Navn.focus();">

<form name="em" method="post" action="http://cgi.struer.net/cgi-bin/formmail.pl" onsubmit=" return validering(em);">
<input type=hidden name="recipient" value="test@test.dk">
<input type=hidden name="email" value="test@test.dk">
<INPUT TYPE=hidden NAME="subject" VALUE="Tilmelding til kundepanel">
<INPUT TYPE=hidden NAME="sort" VALUE="order:Kundepanel,Online_kundegruppe,Navn,Titel,Adresse,Postnr,By,Telefon,Email">
<INPUT TYPE=hidden NAME="redirect" VALUE="tak.html">

<p>Ja tak, jeg vil gerne tilmelde mig:</p>
<table border="0" cellspacing="0" cellpadding="5">
    <tr>
        <td><b>Kundepanel</b></td>
        <td colspan="2"><input type="checkbox" name="Kundepanel" value="" size="40"></td>
    </tr>
    <tr>
        <td><b>Online kundegruppe</b></td>
        <td colspan="2"><input type="checkbox" name="Online_kundegruppe" value="" size="40"></td>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>       
    <tr>
        <td>Navn:</td>
        <td colspan="2"><input type="text" name="Navn" value="" size="40"></td>
    </tr>
    <tr>
        <td>Adresse:</td>
        <td colspan="2"><input type="text" name="Adresse" value="" size="40"></td>
    </tr>
    <tr>
        <td>Postnr:</td>
        <td colspan="2"><input type="text" name="Postnr" value="" size="4" maxlength="4"></td>
    </tr>
   
    <tr>
        <td>By</td>
        <td colspan="2"><input type="text" name="By" value="" size="40"></td>
    </tr>
   
    <tr>
        <td>Telefon:</td>
        <td colspan="2"><input type="text" name="Telefon" value="" size="8" maxlength="8"></td>                   
    </tr>
                   
    <tr>
        <td>E-mail:</td>
        <td><input type="text" name="Email" size="40"></td>
    </tr>
   
    <tr>
        <td></td>
        <td colspan="2"><input type="submit" name="Bestil" value="Send tilmelding">&nbsp;<input type="reset" name="Slet" value="Slet"</td>
    </tr>
</table>   
</form>

</body>
</html>
Avatar billede mm12010 Nybegynder
03. maj 2004 - 09:50 #1
el=document.em.elements;
for(i=0;i<el.length;i++)
  if(el[i].type=='checkbox'&&el[i].checked) break;
alert("check mindst 1");
return false;
Avatar billede mm12010 Nybegynder
03. maj 2004 - 09:52 #2
sorry - sådan:

el=document.em.elements;
chk=false;
for(i=0;i<el.length;i++)
  if(el[i].type=='checkbox'&&el[i].checked) chk=true;
if(!chk){
  alert("check mindst 1");
  return false;
  }
Avatar billede holckie Nybegynder
03. maj 2004 - 09:56 #3
tak for tippet...
Men når jeg har sat "flueben" får jeg stadig alert på checkboxen?
Den skulle jo gerne kunne registrere, at jeg har valgt en af de to checkboxe.

------------------

<script language="javascript">
<!-- skjuler scriptet fra ældre browsere

         
function validering(em) {

el=document.em.elements;
for(i=0;i<el.length;i++)
  if(el[i].type=='checkbox'&&el[i].checked) break;
alert("check mindst 1");
return false;

Navn = document.em.Navn.value;
if  (Navn.length <1) {
alert ("Indtast venligst dit navn");
document.em.Navn.focus();
return false;
}

osv. osv.
Avatar billede mm12010 Nybegynder
03. maj 2004 - 10:26 #4
har du prøvet 03/05-2004 09:52:20 ?-)
Avatar billede holckie Nybegynder
03. maj 2004 - 11:04 #5
nej, det havde jeg lige overset...
Tak for det.

Det virker!
Avatar billede mm12010 Nybegynder
03. maj 2004 - 11:05 #6
selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester