2013-11-23 3 views
0

Я делаю форму, и моя функция проверки работает, но полностью игнорирует номер телефона и позволяет отправлять его.Номер телефона не проверен javascript

Что мне нужно случиться, что если номер телефона оленьей кожи содержит ровно 10 числа он отвергается.

Если я копирую точный код и поместить его в отдельной функции:

<button onclick="CheckTelephone()">Click</button> 


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;} 
} 

Но когда я представляю свою форму на полный код Это позволяет любой номер для отправки: (весь путь в нижней части)

<form onsubmit="return validate()" name="OrderForm"> 
<input type="submit" id="SubmitForm" name="SubmitForm" value="Plaats Bestelling"> 

// 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 <= 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 <1 || PositionDot-PositionAt <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; 
} 

Если кто-нибудь может сказать мне, почему это происходит, или то, что я делаю неправильно было бы весьма признателен

ответ

1

Ваш вызов функции,

onclick="CheckTelefoon()" .... 

и ваше определение функции,

function CheckTelephone(){ .... 

Сделать как уникальный для запуска кода без ошибок.

+0

К сожалению, это была опечатка при добавлении кнопки очень быстро, первый код работает, когда я нажимаю на кнопку, но когда я на самом деле попробовать ту же самую вещь, но в моем полном виде она игнорирует его и просто отправляет форму от (второй код кода) – Paradoxis

+0

@Paradoxis - это консоль, жалующаяся на любые ошибки.? –

+0

Консоль не дает никаких ошибок, когда я нажимаю кнопку «Отправить», она действует, как будто я правильно ее заполнил и отсылает, где, как если бы я испортил любое из других полей, это даст мне ошибку, которая подскажет мне исправить это поле. – Paradoxis

Смежные вопросы