formulier controleeren met javascript

Status
Niet open voor verdere reacties.

kritinet

Gebruiker
Lid geworden
25 nov 2007
Berichten
118
Hoi
Ik heb een Offerte-formulier. Dit werkt perfekt. Ik laat sommige gegevens controleren met behulp van javascript.
zoals hier :
[JS]<script type='text/javascript'>
function formValidator(){

var Achternaam = document.getElementById('Achternaam');
var Straat = document.getElementById('Straat');
var Huisnummer = document.getElementById('Huisnummer');
var Email = document.getElementById('Email');


if(notEmpty(Achternaam, "Geef uw achternaam op !")){
if(isAlphanumeric(Straat, "Geef uw korrekte straatnaam op !")){
if(isAlphanumeric(Huisnummer, "Geef uw korrekte huisnummer op !")){
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 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>[/JS]
Dit werkt perfect. hier het voorbeeld http://www.estero-travel.com/nl/Offerte.php

Maar nu heb ik een checkbox aan het formulier toegevoegd om de algemene voorwaarden te accepteren. Hoe moet ik het javascript aanpassen. Tot nu toe heb ik alleen de mogelijkheden dat :
- het textvak niet leeg is (notEmpty)
- het textvak alleen nummers moeten zijn (isNumeric)
- het textvak letters moet bevatten (isAlphabet)
- het textvak letters en nummers moet bevatten (isAlphanumeric)
- uit het List/Menu gekozen moet worden (madeSelection)
- een korrekt email adres aangegeven moet worden (emailValidator)

wat moet ik toevoegen om een checkbox te controleren?
 
Controleren of een checkbox is aangevinkt doe je met ".checked". Dus:
[js]if (document.getElementById('alg_voorw').checked == true)[/js].
 
ik heb het nu zo ingebouwd maar werkt helaas niet
[JS]
<script type='text/javascript'>
function formValidator(){
var algemenevoorwaarden = document.getElementById('algemenevoorwaarden');


if(isChecked(algemenevoorwaarden, "Gaat u met de algemene voorwaarden akkoord ?")){
return true;
}


return false;
}

function isChecked(elem, helperMsg){
if (document.getElementById('algemenevoorwaarden').checked == true){
alert(helperMsg);
elem.focus();
return false;
}else{
return true;
}
}


</script>

[/JS]
weet iemand raad ? bedankt alvast
 
Ik heb jouw code in een nieuwe (simpele) pagina gekopieerd en bij mij werkt het wel
HTML:
<html>
<head>
<script type='text/javascript'>
function formValidator(){
var algemenevoorwaarden = document.getElementById('algemenevoorwaarden');


if(isChecked(algemenevoorwaarden, "Gaat u met de algemene voorwaarden akkoord ?")){
return true;
    }


return false;
    }

function isChecked(elem, helperMsg){
    if (document.getElementById('algemenevoorwaarden').checked != true){
        alert(helperMsg);
        elem.focus();
        return false;
    }else{
        return true;
    }
}


</script>
</head>
<body>
<form onSubmit="return formValidator()">
<input type="checkbox" id="algemenevoorwaarden" name="algv">
<br>
<input type="submit" name="sbm">
</form>
</body>
</html>

Je moet overigens wel de regel [js]if (document.getElementById('algemenevoorwaarden').checked == true)[/js] veranderen in [js]if (document.getElementById('algemenevoorwaarden').checked == false)[/js]
anders krijg je de melding te zien als het vinkje wel in aangevinkt.
 
bedankt,...maar nu komt de waarschuwing de hele tijd, ook heb ik de alg. voorwaarden aangevinkt of niet. Dus het formulier kan nu niet verstuurd worden ! Wat kan het probleem zijn ?
 
Heb je het misschien ergens online staan? In het voorbeeld dat ik gaf werkt het goed.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan