2015-01-05 6 views
-4

У меня возникли ошибки при проверке моей формы.Ошибка с подтверждением формы

Вот JavaScript:

function ValidateForm(){ 
email=document.getElementbyId("email").value; 
confirmemail=document.getElementById("confirmemail").value; 
password=document.getElementById("password").value; 
confirmpassword=document.getElementById("confirmpassword").value; 
errors = " "; 

if (email == " ") { 
erros += "Please enter your email \n"; 
} 

emailcheck = /^[email protected]+\..{2,4}$/; 
if (email.match(emailcheck)) { } 
else { 
errors += "Please check your email \n"; 
} 

if (email.match(confirmemail)) {} 
else { 
errors += "Email don't match \n"; 
} 

if (errors != "") { 
alert(errors); 
} 
else { } 
} 

А вот форма часть HTML:

<form action="/LoginData/" method="post"> 
<label>Email</label> 
<input id="email" type="email" autocomplete="on" placeholder="Your email id"  name="email" required> 
<label>Confirm Email</label> 
<input id="confirmemail" type="email" autocomplete="off" placeholder="Confirm your Email id" name="confirmemail" required> 
<br/> 
<br/> 
<label>Password</label> 
<input id="password" type="password" name="password" placeholder="Password" required> 
<label>Confirm Password</label> 
<input id="confirmpassword" type="password" name="confirmpassword" placeholder="Confirm your Password" required> 
<br/> 
<br/> 
<input type="submit" name="submit" value="Create Account"> 
</form> 

Он не показывает предупреждающее сообщение, даже если я заполнить поля с неправильным входом.

(Примечание: Я использую внешний JavaScript-файл)

Я использую JavaScript для IE8, потому что я хочу, чтобы сделать веб-страницы работать правильно на нем. И не отображается предупреждение для любого из полей в IE. Пример из того, что я пытаюсь построить: 1http://aharrisbooks.net/jad/chap_07/validate.html

+0

Где вы называете подтвержденную форму? – Bobby

+1

Привет, Танмай! Вы должны рассмотреть возможность предоставления более подробной информации относительно *, когда * он не отображает предупреждающее сообщение. Это для всех полей? Только поле электронной почты? Я замечаю, что у вас есть опечатка в проверке для последнего, поскольку он назначает «erros», а не «errors». Кроме того, что касается проверки, вы не проверяете, что введенный адрес электронной почты соответствует «подтверждению». – ninetwozero

ответ

0

Вам необходимо вызвать ValidateForm() в вашем коде.

В этом сценарии, называя его отправкой, будет лучшим вариантом, например onsubmit="return validateForm()";

Также у этого есть проблема с верблюдом. Должен быть getElementById вместо getElementbyId. Проверьте свой синтаксис Ошибки в консоли браузера.

+0

ОК после того, как я добавил это, я думаю, что есть ошибка с чем-то еще. Когда я запускаю страницу в IE с помощью метода, который вы сказали, это появляется. Подробности об ошибке веб-страницы User Agent: Mozilla/4.0 (совместимо; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) Временная метка: ср., 7 янв. 2015 02:29:56 UTC Сообщение: Объект не поддерживает это свойство или метод Line: 2 Char: 2 Код: 0 URI : файл: /// S: /Users/Rajesh/Desktop/Rulers%20Online/Register.js»Так Я думаю, что есть ошибка с тегом

0

Вы должны положить

onsubmit="return validateForm()" 

Так

<form action="/LoginData/" method="post" onsubmit="return validateForm()"> 
<label>Email</label> 
<input id="email" type="email" autocomplete="on" placeholder="Your email id"  name="email" required> 
<label>Confirm Email</label> 
<input id="confirmemail" type="email" autocomplete="off" placeholder="Confirm your Email id" name="confirmemail" required> 
<br/> 
<br/> 
<label>Password</label> 
<input id="password" type="password" name="password" placeholder="Password" required> 
<label>Confirm Password</label> 
<input id="confirmpassword" type="password" name="confirmpassword" placeholder="Confirm your Password" required> 
<br/> 
<br/> 
<input type="submit" name="submit" value="Create Account"> 
</form> 

в виде тега, чтобы использовать пользовательскую проверку перед отправкой данных ,

В настоящее время вы используете тег проверки HTML5, даже если ваша функция JS cusom не вызывается, вы должны увидеть проверку HTML5 с помощью новых браузеров. Вы можете видеть браузеры, которые более совместимы, чем другие, с HTML5: http://caniuse.com/#search=html5.

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