user1953681
user1953681

Reputation: 17

Multiple form onsubmit validations?

I have a form and currently I have a javascript code to validate my form to make sure that the user fills out every input. my form action includes:

onsubmit="return validateForm();"

Which is the javascript to make sure every field is filled out. If it makes any difference, here is my javascript code:

<script type="text/javascript">// 
<![CDATA[function validateForm() { 
    var a=document.forms["myform"]["inf_field_FirstName"].value; 
    var b=document.forms["myform"]["inf_field_Email"].value; 
    var c=document.forms["myform"]["inf_field_Phone1"].value; 
    if (a==null || a=="" || a=="First Name Here")
    {   alert("Please enter your First Name!");   
    return false;   }     
    if (c==null || c==''|| c=="Enter Your Phone Here")
    {    alert("Please insert your phone number!");   
    return false;   }    
    var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;    
    if (document.myform.inf_field_Email.value.search(emailRegEx) == -1)  
    {           alert("Please enter a valid email address.");               
    return false;    } }
    // ]]>
</script>

However on the phone number field, defined at c, I want to add another script that will pop up if the user doesn't enter a phone number at least 9 digits long. I was thinking of adding a code like this

<script type="text/javascript">
function validate(){

var c=document.forms["myform"]
    if (input.length<9){
        alert("Please enter a real phone number")
        return false
    }else {
        return true
    }
}
</script>

However I don't know how to run both functions on submit. I am extremely new to javascript so excuse me if there's already a simple solution to this.

Thanks

Upvotes: 1

Views: 989

Answers (2)

w33ble
w33ble

Reputation: 1

You could add it as another rule in that conditional. For example:

if (c==null || c==''|| c=="Enter Your Phone Here" || c.length < 9)   {    
  alert("Please insert your phone number!");   
  return false;
}

It's probably best to refactor this code, but that's probably the fastest way to do what you need.

Upvotes: 0

Boundless
Boundless

Reputation: 2464

Everything in quotes after onsubmit= is just javascript. You can make sure both functions return true by doing:

onsubmit="return validateForm() && validate();"

Upvotes: 1

Related Questions