Я делаю форму, и моя функция проверки работает, но полностью игнорирует номер телефона и позволяет отправлять его.Номер телефона не проверен 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;
}
Если кто-нибудь может сказать мне, почему это происходит, или то, что я делаю неправильно было бы весьма признателен
К сожалению, это была опечатка при добавлении кнопки очень быстро, первый код работает, когда я нажимаю на кнопку, но когда я на самом деле попробовать ту же самую вещь, но в моем полном виде она игнорирует его и просто отправляет форму от (второй код кода) – Paradoxis
@Paradoxis - это консоль, жалующаяся на любые ошибки.? –
Консоль не дает никаких ошибок, когда я нажимаю кнопку «Отправить», она действует, как будто я правильно ее заполнил и отсылает, где, как если бы я испортил любое из других полей, это даст мне ошибку, которая подскажет мне исправить это поле. – Paradoxis