Topic: Form Validation Problem

Hi,
I am trying to validate a form, and am getting the error messages as needed, but it submits the form anyway.

Here is the Java:

function validate (form){

var returnValue = true;

var email = CSLavRequestForm.email.value;
var phone = CSLavRequestForm.phoneNumber.value;
var groupName = CSLavRequestForm.workshopName.value;

if (email.length < 6){
returnValue = false;
alert("Please Enter Valid email");
CSLavRequestForm.email.focus();
}
if (phone.length < 10){
returnValue = false;
alert("Please Enter Valid Phone Number");
CSLavRequestForm.phone.focus();
}
if (groupName.length < 3){
returnValue = false;
alert("Please Enter Valid Workshop/Region");
CSLavRequestForm.groupName.focus();
}

return returnValue;
}
</script>

and the form line in the html:

<form onsubmit="return validate(this);" action="/cgi-sys/formmail.pl" method="post" name="CSLavRequestForm" id="CSLavRequestForm" >


I am stuck! Benn working on this for way too long

Thanks & Regards,
Lokananth

Vote up Vote down

Re: Form Validation Problem

The focus() function after the alerts were sending the form. Removed them and made some changes, and it works

function validate(form){
    var returnValue = true;

    var email = form.email.value;
    var phone = form.phoneNumber.value;
    var groupName = form.workshopName.value;

    if (email.length < 6){
        returnValue = false;
        alert("Please Enter Valid email");
    }
    if (phone.length < 10){
        returnValue = false;
        alert("Please Enter Valid Phone Number");
    }
    if (groupName.length < 3){
        returnValue = false;
        alert("Please Enter Valid Workshop/Region");
    }

    return returnValue;
}

If anyone's got an explanation why the focus() method sends a form, then please shed some light big_smile

Vote up Vote down