Note that there are some explanatory texts on larger screens.

plurals
  1. POPhone number doesn't get validated javascript
    text
    copied!<p>I'm making a form and my validation function works, but completely ignores the phone number and allows it to be sent.</p> <p>What I need to happen is that if the phone number doesnt contain exactly 10 numbers it gets rejected.</p> <p>If I copy the exact code and put it in a seperate function:</p> <pre><code>&lt;button onclick="CheckTelephone()"&gt;Click&lt;/button&gt; function CheckTelephone(){ var Telephone = document.forms["OrderForm"]["Telefoon"] .value.length; if (Telefoon != 10){ document.getElementById("Error").innerHTML = "Telefoon nummer moet 10 cijfers bevatten."; setTimeout("ErrorClear()",5000); return false;} } </code></pre> <p>But when I submit my form on the full code It allows any number to be sent: (all the way at the bottom)</p> <pre><code>&lt;form onsubmit="return validate()" name="OrderForm"&gt; &lt;input type="submit" id="SubmitForm" name="SubmitForm" value="Plaats Bestelling"&gt; // Form validation function validate(){ // Variables var TotalAmount = document.getElementById('TotalAmount').innerHTML; var Voornaam = document.forms["OrderForm"]["Voornaam"] .value; var Achternaam = document.forms["OrderForm"]["Achternaam"] .value; var Tussenvoegsel = document.forms["OrderForm"]["Tussenvoegsel"] .value; var Email = document.forms["OrderForm"]["Email"] .value; var EmailCheck = document.forms["OrderForm"]["EmailCheck"] .value; var Telefoon = document.forms["OrderForm"]["Telefoon"] .value.length; var PositionAt = document.forms["OrderForm"]["Email"] .value.indexOf('@'); var PositionDot = document.forms["OrderForm"]["Email"] .value.indexOf('.'); var NotNumbers = /^[0-9]$/; // Checks filled out or not ( || = OR(= Of)) if (TotalAmount == 0 || TotalAmount &lt;= 0){ document.getElementById("Error").innerHTML = "U heeft geen hoeveelheid oliebollen gekozen."; setTimeout("ErrorClear()",5000); return false;} if ( Voornaam == null || Voornaam == "" || Achternaam == null || Achternaam == "" || Email == null || Email == "" || EmailCheck == null || EmailCheck == "" || Telefoon == null || Telefoon == ""){ document.getElementById("Error").innerHTML = "Niet alle verplichte velden zijn ingevuld."; setTimeout("ErrorClear()",5000); return false;} // Checks if email adresses are the same or contains . and @ if (PositionAt &lt;1 || PositionDot-PositionAt &lt;2 ){ document.getElementById("Error").innerHTML = "Het E-Mail adres bevat geen @ of . tekens."; setTimeout("ErrorClear()",5000); return false;} if (EmailCheck == Email ){return true;}else{ document.getElementById("Error").innerHTML = "De ingevoerde E-Mail adressen zijn niet gelijk."; setTimeout("ErrorClear()",5000); return false;} // Checks if Telephone number contains 10 digits if (Telefoon != 10){ document.getElementById("Error").innerHTML = "Telefoon nummer moet 10 cijfers bevatten."; setTimeout("ErrorClear()",5000); return false;} // Somehow lets the phone number go trough even tough it's the exact same code // If all correct return true; } </code></pre> <p>If anyone could tell me why this is happening or what I'm doing wrong it would be greatly appreciated</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload