Avatar billede ravnkilde Nybegynder
16. januar 2003 - 15:17 Der er 9 kommentarer og
1 løsning

Validering af checkbox

Hej!

Nedenstående kode validerer indholdet i udvalgte felter i en formular. Formularen indeholder også en checkbox (Terms), men jeg kan ikke få scriptet til at validere om den er checked eller unchecked.

Løsningsforslag modtages!

På forhånd tak / Chr.

Start på min kode
-----------------------------------------------------
<script language="JavaScript"><!--
function check()
        {
            if(form1.Advert.value == '')
            {
                alert("Please fill in the \"Chosen advert\" field");
                form1.Advert.focus();
                return false;
            }
            if(form1.Media.value == '')
            {
                alert("Please fill in the \"Advert to appear in\" field");
                form1.Media.focus();
                return false;
            }
            if(form1.Publication.value == '')
            {
                alert("Please fill in the \"Publication month and year\" field");
                form1.Publication.focus();
                return false;
            }
            if(form1.Sizewidth.value == '')
            {
                alert("Please fill in the \"Size of advert in mm - width\" field");
                form1.Sizewidth.focus();
                return false;
            }
            if(form1.Sizeheight.value == '')
            {
                alert("Please fill in the \"Size of height in mm - height\" field");
                form1.Sizeheight.focus();
                return false;
            }
            if(form1.Deadline.value == '')
            {
                alert("Please fill in the \"Deadline\" field");
                form1.Deadline.focus();
                return false;
            }
            if(form1.Contactperson.value == '')
            {
                alert("Please fill in the \"Name of contact person\" field");
                form1.Contactperson.focus();
                return false;
            }
            if(form1.Telephonecontact.value == '')
            {
                alert("Please fill in the \"Telephone number\" field");
                form1.Telephonecontact.focus();
                return false;
            }
            if(form1.Emailcontact.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailcontact.focus();
                return false;
            }   
            if(form1.Emailapproval.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailapproval.focus();
                return false;
            }   
            if(form1.Attachment.value == '')
            {
                alert("Please fill in the \"Attach your text file\" field");
                form1.Attachment.focus();
                return false;
            }   
            if(form1.Name.value == '')
            {
                alert("Please fill in the \"Name\" field");
                form1.Name.focus();
                return false;
            }   
            if(form1.Company.value == '')
            {
                alert("Please fill in the \"Company\" field");
                form1.Company.focus();
                return false;
            }   
            if(form1.Addressorder.value == '')
            {
                alert("Please fill in the \"Address\" field");
                form1.Addressorder.focus();
                return false;
            }   
            if(form1.Postalcode.value == '')
            {
                alert("Please fill in the \"Postal code\" field");
                form1.Postalcode.focus();
                return false;
            }   
            if(form1.City.value == '')
            {
                alert("Please fill in the \"City\" field");
                form1.City.focus();
                return false;
            }   
            if(form1.Country.value == '')
            {
                alert("Please fill in the \"Country\" field");
                form1.Country.focus();
                return false;
            }   
            if(form1.Telephoneorder.value == '')
            {
                alert("Please fill in the \"Telephone number\" field");
                form1.Telephoneorder.focus();
                return false;
            }   
            if(form1.Emailorder.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailorder.focus();
                return false;
        }   
            if(form1.Terms.field.checked == '')
            {
                alert("Please check \"Terms and conditions\" box");
                form1.Terms.focus();
                return false;
        }       
}
// -->
        </script>
-------------------------------------
Slut på min kode
Avatar billede di8leva Nybegynder
16. januar 2003 - 15:23 #1
er det ikke kun:

if(!form1.Terms.checked)
            {
                alert("Please check \"Terms and conditions\" box");
                form1.Terms.focus();
                return false;
        }
Avatar billede di8leva Nybegynder
16. januar 2003 - 15:25 #2
her er annars et godt eksempel som du kan bruge til at finde ut hvordan du laver det.

<html>
<script language="JavaScript">
function check()
{
    if(document.form1.box.checked)
        alert('checked');
    else
        alert('unchecked');
}
</script>

<form name="form1">
<input type=checkbox name="box"><br>
<input type="button" onClick="check();">
</form>
Avatar billede ravnkilde Nybegynder
16. januar 2003 - 15:27 #3
Hej di8leva!

Nej, desværre. Jeg har lige forsøgt, men jeg får lov at sende formularen uden at boksen er markeret.
Avatar billede ravnkilde Nybegynder
16. januar 2003 - 15:29 #4
Hej igen di8leva!

Jeg prøver lige dit 2nd forslag.
Avatar billede di8leva Nybegynder
16. januar 2003 - 15:30 #5
men du får op alert-boxen?
Avatar billede ravnkilde Nybegynder
16. januar 2003 - 15:39 #6
Hej di8leva!

Nej, det virker ikke.

Her her min tilrettede kode:

<script language="JavaScript"><!--
function check()
        {
            if(form1.Advert.value == '')
            {
                alert("Please fill in the \"Chosen advert\" field");
                form1.Advert.focus();
                return false;
            }
            if(form1.Media.value == '')
            {
                alert("Please fill in the \"Advert to appear in\" field");
                form1.Media.focus();
                return false;
            }
            if(form1.Publication.value == '')
            {
                alert("Please fill in the \"Publication month and year\" field");
                form1.Publication.focus();
                return false;
            }
            if(form1.Sizewidth.value == '')
            {
                alert("Please fill in the \"Size of advert in mm - width\" field");
                form1.Sizewidth.focus();
                return false;
            }
            if(form1.Sizeheight.value == '')
            {
                alert("Please fill in the \"Size of height in mm - height\" field");
                form1.Sizeheight.focus();
                return false;
            }
            if(form1.Deadline.value == '')
            {
                alert("Please fill in the \"Deadline\" field");
                form1.Deadline.focus();
                return false;
            }
            if(form1.Contactperson.value == '')
            {
                alert("Please fill in the \"Name of contact person\" field");
                form1.Contactperson.focus();
                return false;
            }
            if(form1.Telephonecontact.value == '')
            {
                alert("Please fill in the \"Telephone number\" field");
                form1.Telephonecontact.focus();
                return false;
            }
            if(form1.Emailcontact.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailcontact.focus();
                return false;
            }   
            if(form1.Emailapproval.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailapproval.focus();
                return false;
            }   
            if(form1.Attachment.value == '')
            {
                alert("Please fill in the \"Attach your text file\" field");
                form1.Attachment.focus();
                return false;
            }   
            if(form1.Name.value == '')
            {
                alert("Please fill in the \"Name\" field");
                form1.Name.focus();
                return false;
            }   
            if(form1.Company.value == '')
            {
                alert("Please fill in the \"Company\" field");
                form1.Company.focus();
                return false;
            }   
            if(form1.Addressorder.value == '')
            {
                alert("Please fill in the \"Address\" field");
                form1.Addressorder.focus();
                return false;
            }   
            if(form1.Postalcode.value == '')
            {
                alert("Please fill in the \"Postal code\" field");
                form1.Postalcode.focus();
                return false;
            }   
            if(form1.City.value == '')
            {
                alert("Please fill in the \"City\" field");
                form1.City.focus();
                return false;
            }   
            if(form1.Country.value == '')
            {
                alert("Please fill in the \"Country\" field");
                form1.Country.focus();
                return false;
            }   
            if(form1.Telephoneorder.value == '')
            {
                alert("Please fill in the \"Telephone number\" field");
                form1.Telephoneorder.focus();
                return false;
            }   
            if(form1.Emailorder.value == '')
            {
                alert("Please fill in the \"E-mail address\" field");
                form1.Emailorder.focus();
                return false;
        }   
            if(document.form1.Terms.checked)
            {
                alert("Please check \"Terms and conditions\" box");
                form1.Terms.focus();
                return false;
        }
}
// -->
        </script>


    </head>

    <body topmargin="4" leftmargin="5" marginheight="4" marginwidth="5" text="black" link="#003366" vlink="#003366" alink="#999999" bgcolor="white" background="../../../images/ressourcer/hvid_bag.gif" onLoad="toForm()">
        <form method="POST" enctype="multipart/form-data" action="form.asp" name="form1" id="form1" onsubmit="return check()">
Avatar billede di8leva Nybegynder
16. januar 2003 - 15:45 #7
detta virker 100% hos mig
glem ikke --> ! <--


<html>
<script language="JavaScript"><!--
function check()
{
    if(document.form1.text1.value == '')
    {
        alert('no text');
        return false;
    }
    if(!document.form1.box1.checked)
    {
        alert('no check');
        return false;
    }
    return true;
}
</script>

<form name="form1" onsubmit="return check();">
<input type="text" name="text1"><br>
<input type="checkbox" name="box1"><br>
<input type="submit">
</form>
Avatar billede ravnkilde Nybegynder
16. januar 2003 - 15:56 #8
Kigger igen på det.
Avatar billede ravnkilde Nybegynder
21. januar 2003 - 10:27 #9
Det virker nu!

Tak for hjælpen, di8leva!

m.v.h.
ravnkilde
Avatar billede ravnkilde Nybegynder
21. januar 2003 - 13:43 #10
Hej di8leva!

Er det ikke muligt at sætte "focus" på det sæt radioknapper, der ikke er udfyldt?

Jeg har prøvet med nedenstående kode, men det fungerer ikke!


<html>

<head>
<script language="JavaScript"><!--
function check()
{
if(document.form1.text1.value == '')
{
alert('no text');
form1.text1.focus();
return false;
}
if(!document.form1.Colour[0].checked && !document.form1.Colour[1].checked)
{
alert('do the radios');
form1.Colour.focus();
return false;
}
return true;
}
</script>
</head>

<body bgcolor="#ffffff">
<form name="form1" onsubmit="return check();">
<p><input type="text" name="text1">Text</p>
<p><input type="radio" value="Blackandwhite" name="Colour">Black and white</p>
<p><input type="radio" value="4-colour" name="Colour">4-colour</p>
<input type="submit">
</form>
</body>
</html>
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