formulier controle

Status
Niet open voor verdere reacties.

kritinet

Gebruiker
Lid geworden
25 nov 2007
Berichten
118
ik heb een javascript om mijn formulier te controleren, maar hij werkt niet. Waar zit de fout ?

Code:
<script type='text/javascript'>
function formValidator(){
	
	var Achternaam = document.getElementById('Achternaam');
	var Straat = document.getElementById('Straat');
	var Huisnummer = document.getElementById('Huisnummer');
	var Postcode = document.getElementById('Postcode');
	var Plaats = document.getElementById('Plaats');
	var Land = document.getElementById('Land');
	var Telefoon = document.getElementById('Telefoon');
	var Mobiel = document.getElementById('Mobiel');
	var Email = document.getElementById('Email');
	
	
	if(notEmpty(Achternaam, "Geef uw achternaam op !")){
	if(isAlphabet(Straat, "Geef uw korrekte straatnaam op !")){
	if(isNumeric(Huisnummer, "Geef uw korrekte huisnummer op !")){
	if(isAlphanumeric(Postcode, "Geef uw korrekte postcode op !")){
	if(notEmpty(Plaats, "Geef uw woonplaats op !")){
	if(madeSelection(Land, "Kies uw land a.u.b.")){
	if(isNumeric(Telefoon, "Geef uw korrekte telefoon nummer op  *alleen getallen* !")){
	if(isNumeric(Mobiel, "Geef uw korrekte mobiel nummer op  *alleen getallen* !")){	
	if(emailValidator(Email, "Geef een geldig e-mailadres op")){
	return true;
	}
	}
	}
	}
	}
	}
	
	return false;
	}

function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == "kies a.u.b."){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
</script>

HTML:
<table width="99%" border="0" cellpadding="3" cellspacing="1">
                            <tr >
                              <td width="35%" align="left" valign="middle"  ><input  class="form" style="border:#6F0024 solid 1px" value="(* verplichte velden)" size="24"  /></td>
                              <td align="left" valign="middle"  ><input value="mevrouw" checked="checked" type="radio" name="Aanhef" />
                                Mevr.
                                &nbsp;&nbsp;
                                <input value="mijnheer" type="radio" name="Aanhef" />
                                Dhr.
                              <br /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle"  >Voornaam</td>
                              <td align="left" valign="middle"  ><input name="Voornaam" type="text"  class="form" size="30" maxlength="60" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Achternaam</td>
                              <td align="left" valign="middle"><input name="Tussenvoegsel" type="text"  class="form" size="5" maxlength="60" /> 
                                                   <input name="Achternaam" type="text"  class="form" size="24" style="border:#6F0024 solid 1px" maxlength="60" id="Achternaam" /> </td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Straat en huisnummer*</td>
                              <td align="left" valign="middle"><input name="Straat" type="text"  class="form" style="border:#6F0024 solid 1px" size="20" maxlength="60" id="Straat"  />
                              <input name="Huisnummer" id="Huisnummer" type="text" class="form" style="border:#6F0024 solid 1px" size="6" maxlength="5" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Postcode en plaats*</td>
                              <td align="left" valign="middle"><input name="Postcode"  type="text" class="form" style="border:#6F0024 solid 1px" size="10" id="Postcode"  maxlength="10" />
                              <input name="Plaats" type="text" class="form" style="border:#6F0024 solid 1px" size="19" maxlength="60" id="Plaats" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Land*</td>
                              <td align="left" valign="middle"><select name="Land" size="1" id="Land"  class="form" style="border:#6F0024 solid 1px">
                                <option value="">kies a.u.b.</option>
                                  <option value="Nederland">Nederland</option>
                                  <option value="Belgie">Belgie</option>
                                  <option value="ander">ander</option>
                                </select>
                                <input name="Land2" type="text"  class="form" size="13" maxlength="25" style="border:#6F0024 solid 1px"/></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Telefoon * </td>
                              <td align="left" valign="middle"><input name="Telefoon" id="Telefoon" type="text" style="border:#6F0024 solid 1px" class="form" size="30" maxlength="30" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle"> Mobiel</td>
                              <td align="left" valign="middle"><input name="Mobiel" id="Mobiel" type="text" style="border:#6F0024 solid 1px" class="form" size="30" maxlength="30" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">E-Mail *  </td>
                              <td align="left" valign="middle"><input   name="Email" class="form" id="Email" style="border:#6F0024 solid 1px" size="30" maxlength="60" /></td>
                            </tr>
                            <tr >
                              <td width="35%" align="left" valign="middle">Evt.   noodnummers<br />
thuisblijvers:
                                &nbsp;</td>
                              <td align="left" valign="middle"><input name="Noodnummer"  type="text"  class="form"   size="30" maxlength="30" /></td>
                            </tr>
                            <tr>
                              <td colspan="2" align="left"  >&nbsp;</td>
                            </tr>
                            <tr>
                              <td align="left"  >Gewenste reis-periode</td>
                              <td align="left"  >van:
                                <input type="text"  class="form" id="van" name="van" size="8" maxlength="10" />
                                <a href="javascript:NewCal('van','ddmmyyyy')"><img src="../images/graphics/calendar.jpg" width="16" height="15" border="0" alt="Pick a date" /></a>&nbsp;
                                <select  name="van2" size="1"  class="form" >
                                  <option value="" selected="selected">+/- dagen</option>
                                  <option value="+/- 1dagen">+/- 1 dag</option>
                                  <option value="+/- 2 dagen">+/- 2 dagen</option>
                                  <option value="+/- 3 dagen">+/- 3 dagen</option>
                                  <option value="+/- 4 dagen">+/- 4 dagen</option>
                                </select>                                &nbsp;<br />
                                t/m:
                                <input type="text"  class="form" id="tot" name="tot" size="8" maxlength="10" />
                                <a href="javascript:NewCal('tot','ddmmyyyy')"><img src="../images/graphics/calendar.jpg" width="16" height="15" border="0" alt="Pick a date" /></a>&nbsp;
                                <select  name="tot2" size="1"  class="form">
                                  <option value="" selected="selected">+/- dagen</option>
                                  <option value="+/- 1dagen">+/- 1 dag</option>
                                  <option value="+/- 2 dagen">+/- 2 dagen</option>
                                  <option value="+/- 3 dagen">+/- 3 dagen</option>
                                  <option value="+/- 4 dagen">+/- 4 dagen</option>
                                </select></td>
                            </tr>
      </table>
Wie kan me ermee helpen ? Link naar het formulier
http://www.estero-travel.com/nl/Offerte.php
 
Het aantal accolades klopt niet hier:
[js]if(notEmpty(Achternaam, "Geef uw achternaam op !")){
if(isAlphabet(Straat, "Geef uw korrekte straatnaam op !")){
if(isNumeric(Huisnummer, "Geef uw korrekte huisnummer op !")){
if(isAlphanumeric(Postcode, "Geef uw korrekte postcode op !")){
if(notEmpty(Plaats, "Geef uw woonplaats op !")){
if(madeSelection(Land, "Kies uw land a.u.b.")){
if(isNumeric(Telefoon, "Geef uw korrekte telefoon nummer op *alleen getallen* !")){
if(isNumeric(Mobiel, "Geef uw korrekte mobiel nummer op *alleen getallen* !")){
if(emailValidator(Email, "Geef een geldig e-mailadres op")){
return true;
}
}
}
}
}
}

return false;
}[/js]
Je hebt negen begin-accolades en maar zes sluit-accolades.
 
Dank je wel. Ja daar zat dus de fout.
Nog een vraagje...
Ik heb nu bij het tel nummer en mob. nummer het volgende javascript
[JS]function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}[/JS]
maar ik wil graag nummers EN spatie EN /.- toestaan. nu is alleen 0-9. maar hoe doe ik dat ?
 
Op zich kan je die tekens gewoon toevoegen:
[js]var numericExpression = /^[0-9 /.-]+$/;[/js]
Het nadeel is wel dat dit ook iets als " 0/1.-34" (zonder aanhalingstekens) accepteert en dat wil je waarschijnlijk niet.
 
nee maar wel dat mensen spaties tussen de nummers kunnen laten. dat is nu gelukt. Bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan