verplichte velden in formulier

Status
Niet open voor verdere reacties.

PSmith

Gebruiker
Lid geworden
22 jul 2003
Berichten
61
Ik heb op mijn homepage een formulier geplaatst. Nu wil ik graag dat bepaalde velden verplicht ingevuld moeten worden voordat het formulier kan worden verzonden. ik heb hem al zover aangepast maar op de een of andere manier kan je het formulier toch verzenden zonder de verplichte velden. Wie wil hier even naar kijken wat ik fout heb gedaan?
www.smith.dutchweb.nl/aanvraagform.htm
Bij voorbaat dank
 
Ik heb dit dingetje gevonden via google:

Code:
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
function verify() {
var themessage = "You are required to complete the following fields: ";
if (document.form.first.value=="") {
themessage = themessage + " - First Name";
}
if (document.form.last.value=="") {
themessage = themessage + " -  Last Name";
}
if (document.form.email.value=="") {
themessage = themessage + " -  E-mail";
}
//alert if fields are empty and cancel form submit
if (themessage == "You are required to complete the following fields: ") {
document.form.submit();
}
else {
alert(themessage);
return false;
   }
}
//  End -->
</script>

</HEAD>


<BODY>

<form  name=form method="post" action="">
<input type=text name="first" size="20"> First Name<BR>
<input type=text name="last" size="20"> Last Name<BR>
<input type=text name="email" size="20"> E-Mail<BR><BR>
<input type=button value="Submit Request" onclick="verify();">
  
<input type=reset value="Clear Form"><br>
</form>

Geeft je een melding wanneer je het probeerd te verzenden als er een van de vereiste onderdelen niet is ingevuld.
 
Nog een ander script.

<HTML>
<TITLE>Formulier</TITLE>
<style>
<!--
BODY{
scrollbar-face-color:#9C7B08;
scrollbar-arrow-color:#FFFFFF;
scrollbar-track-color:#9C7B08;
scrollbar-shadow-color:#FFFFF;
scrollbar-highlight-color:#FFFFFF;
scrollbar-3dlight-color:#FFFFFF;
scrollbar-darkshadow-Color:#9C7B08;
}
-->
</style>
<SCRIPT language="JavaScript">
<!-- Hide from older browsers

//Check the enquiry form is filled in correctly
function CheckForm () {

//Initialise variables
var errorMsg = "";

//Check for a first name
if (document.formulier.naam.value == ""){
errorMsg += "\n\tVoornaam \t- Vul uw voornaam in aub";
}

//Check for a last name
if (document.formulier.achternaam.value == ""){
errorMsg += "\n\tAchternaam \t- Vul uw achternaam in aub";
}

//Check for an e-mail address and that it is valid
if ((document.formulier.email.value == "") || (document.formulier.email.value.length > 0 && (document.formulier.email.value.indexOf("@",0) == - 1 || document.formulier.email.value.indexOf(".",0) == - 1))) {
errorMsg += "\n\tE-mail Address \t- Vul een geldig E-Mail adres in aub";
}

//Check for an enquiry
if (document.formulier.vragen.value == "") {
errorMsg += "\n\tvragen \t\t- Vul de rubriek -vragen- in aub";
}

//If there is aproblem with the form then display an error
if (errorMsg != ""){
msg = "______________________________________________________________\n\n";
msg += "Het formulier werd niet verzonden\n";
msg += "Gelieve onderstaande problemen op te lossen\n";
msg += "______________________________________________________________\n\n";
msg += "De volgende velden moeten ingevuld worden -\n";

errorMsg += alert(msg + errorMsg + "\n\n");
return false;
}

return true;
}
// -->
</script>

<body bgcolor="#9C7B08">
<form method="post" action="formmail.asp" name="formulier" onSubmit="return CheckForm();">
<H3 ALIGN=left><FONT COLOR="#FFFF00" FACE="Comic Sans MS">Mailformulier</FONT></H3>
<H5 ALIGN=left><FONT COLOR="#333333" FACE="Comic Sans MS">Gelieve volgende
informatie te verstrekken. De velden in </FONT>
<FONT COLOR="#800000" FACE="Comic Sans MS">rood</FONT><FONT COLOR="#333333" FACE="Comic Sans MS">
zijn verplicht in te vullen.</FONT></H5>
<TABLE WIDTH=479 BORDER=0 CELLPADDING=0 style="border-collapse: collapse" cellspacing="0">
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#800000">
Voornaam </FONT></B></TD><TD width="361"><INPUT NAME="naam" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#800000">Achternaam </FONT></B></TD>
<TD width="361"><INPUT NAME="achternaam" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Bedrijf&nbsp; </FONT></B></TD>
<TD width="361"><INPUT NAME="bedrijf" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#800000">E-mail Adres</FONT></B></TD>
<TD width="361"><INPUT NAME="email" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Adres&nbsp; </FONT></B></TD>
<TD width="361"><INPUT NAME="adres" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Stad </FONT></B></TD>
<TD width="361"><INPUT NAME="stad" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Postcode </FONT></B></TD>
<TD width="361"><INPUT NAME="postcode" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Land&nbsp; </FONT></B></TD>
<TD width="361"><INPUT NAME="land" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060;"><BR></TD></TR>
<TR><TD width="118"><B><FONT FACE="Comic Sans MS" SIZE=-1 color="#333333">Telefoonnummer</FONT></B></TD>
<TD width="361"><INPUT NAME="telefoon" TYPE="text" SIZE=35 MAXLENGTH=100 style="border: 1px solid #606060"><BR></TD></TR>
<TR><TD valign="top" width="118"><B>
<FONT FACE="Comic Sans MS" SIZE=-1 color="#800000">Vragen/commentaar</FONT></B></TD>
<TD width="361"><TEXTAREA NAME="vragen" ROWS=5 COLS=43 style="font-family: Comic Sans MS; border: 1px solid #606060;"></TEXTAREA>
</TABLE>
<BR><BR><input type="submit" value="Verzenden"><INPUT TYPE=RESET VALUE="Reset Form">

</form>

</body>
</html>
 
Als we dan toch bezig zijn .... ;)

In de head:
<SCRIPT LANGUAGE="JavaScript">
<!--
function CheckG() {
var t1=document.form1.naam.value.length;
var t2=document.form1.adres.value.length;
var t3=document.form1.postcode.value.length;
if ((t1<1) && (t2<1) && (t3<1)) {
alert("U heeft de verplichte vakken Bedrijfsnaam, Adres en Postcode en woonplaats niet ingevuld!");
document.form1.naam.focus();
document.form1.naam.value="";
}
if ((t1<1) && (t2<1) && (t3>0)) {
alert("U heeft de verplichte vakken Bedrijfsnaam en Adres niet ingevuld!");
document.form1.naam.focus();
document.form1.naam.value="";
}
if ((t1<1) && (t2>0) && (t3<1)) {
alert("U heeft de verplichte vakken Bedrijfsnaam en Postcode en woonplaats niet ingevuld!");
document.form1.naam.focus();
document.form1.naam.value="";
}
if ((t1>0) && (t2<1) && (t3<1)) {
alert("U heeft de verplichte vakken Adres en Postcode en woonplaats niet ingevuld!");
document.form1.adres.focus();
document.form1.adres.value="";
}
if ((t1<1) && (t2>0) && (t3>0)) {
alert("U heeft het verplichte vak Bedrijfsnaam niet ingevuld!");
document.form1.naam.focus();
document.form1.naam.value="";
}
if ((t1>0) && (t2>0) && (t3<1)) {
alert("U heeft het verplichte vak Postcode en Woonplaats niet ingevuld!");
document.form1.postcode.focus();
}
if ((t1>0) && (t2<1) && (t3>0)) {
alert("U heeft het verplichte vak Adres niet ingevuld!");
document.form1.adres.focus();
}
}
//-->
</SCRIPT>

en bij je verzendknop:
<input onclick=CheckG() type="submit" value="verzenden" name="verzenden"><input type="reset" value="invoer wissen" name="invoer wissen">

:cool:

///edit:
wel je form een naam geven, welek in het script genoemd wordt..
dus:
<form name="form1"
 
Als het nu nog niet opgelost raakt, dan weet ik het ook niet meer.:D
 
Oke, maar wat zijn de verschillen tussen deze 3 en welke zou dan het beste zijn voor mijn formulier. Ik had het script al aangepast ( weet niet met welke ) maar die doet het niet.:(
 
Zo groot zijn de verschillen niet.
Maar...... wat in het script staat als naam, moet ook in je form als naam voor komen.

:cool:
 
Zou je eens willen kijken naar mijn eigen formulier wat ik daar fout in heb gedaan?:confused:
 
Geplaatst door PSmith
Zou je eens willen kijken naar mijn eigen formulier wat ik daar fout in heb gedaan?:confused:

Was er al mee bezig ;)

Zie bijlage

Het script dient netjes weggezet te worden.
Ivm leesbaarheid en goede werking.
Je validate was niet correct geplaatst.

Overigens is google erg vlug met indexeren ..........
http://www.google.nl/search?q=cache...ead&forum=2&topic=835+"function+checkrequired(which)%22&hl=nl

http://www.html-site.nl/forum/index.php?action=vthread&forum=2&topic=835

:cool:
 

Bijlagen

Laatst bewerkt:
Ik had het inderdaad bij de html-site.nl gevraagd omdat daar het sript vandaan kwam, maar om de een of andere reden konden ze me daar niet verder helpen.:mad: (vandaar de vraag hier bij helpmij ;) )

Maar nu doet hij het:thumb: :thumb: :thumb:

Geweldig je hebt me weer geholpen!!!!

Moet ik nu alles "achter" elkaar zetten? want er zit heel veel ruimte tussen de tekens?
 
Wat bedoel je met achter elkaar zetten?
Met mijn editor Arachnophilia heb ik de code gecontroleerd, en dan maakt Arachno dat overzichtelijker.
Eén foutje er uit gehaald, je had een <small> voor een td tag ipv erin.

Je mag de html wel comprimeren.
Maar niet het script in de head.

:cool:
 
Ik zal er maar niet meer aankomen voordat ik weer iets fout doe.:o

Nog 1 klein vraagje: als ik nu vergeet mijn naam in te vullen en ik druk op "ok" dan krijg ik de pagina te zien waarin staat dat het formulier is verzonden. Is daar nog iets aan te doen?
 
Even een return false geven aan de onclick als er fout gecheckt wordt.

Je zou ook ipv tijdens het verzenden al kunnen checken als je het invulveld verlaat: onBlur="doe_iets()".

t.
 
Even een return false geven aan de onclick als er fout gecheckt wordt.
Je zou ook ipv tijdens het verzenden al kunnen checken als je het invulveld verlaat: onBlur="doe_iets()".

Oke, maar hoe doe ik dit in mijn formulier? en waar precies moet ik dit noteren?

BVD
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan