2016-07-14 4 views
3

проверка не выполняется на кнопку отправки нажмите

<script> 
 
function ValidateEmail(){ 
 
    var emailID = document.getElementById("email").value; 
 
\t var email = document.getElementById("email"); 
 
\t var emailRegexp=/^[a-z]+\w+([\.-]?\w+)*@[a-z]+\w+([\.-]?\w+)*(\.[a-z]{2,3})+$/i; 
 

 
    if ((emailID==null)||(emailID=="")){ 
 
     // alert("Please Enter your Email ID"); 
 
\t \t email.style.borderColor="red"; 
 
\t \t document.getElementById("err").innerHTML = "Please Enter your Email ID"; 
 
     emailID.focus(); 
 
     return false; 
 
    } 
 
\t else 
 
if (!emailRegexp.test(emailID)){ 
 
\t //alert("Please Enter valid Email ID"); 
 
\t email.style.borderColor="red"; 
 
\t document.getElementById("err").innerHTML = "Please Enter valid Email ID"; 
 
\t emailID.focus(); 
 
return false; 
 
\t } 
 
\t else 
 
\t { 
 
\t \t email.style.borderColor="#e1e1e1"; 
 
\t \t document.getElementById("err").innerHTML =""; 
 
\t \t return true; 
 
\t } 
 

 
} 
 

 
function validUsername() 
 
{ 
 
\t var error = ""; 
 
\t var illegalChars = /\W/; // No special Characters allowed 
 
\t var fd =document.getElementById("name"); 
 

 
\t if (fd.value == "" || fd.value == null) 
 
\t { 
 
\t \t fd.style.borderColor = 'Red'; 
 
\t \t document.getElementById("UserErr").innerHTML = " Field is left Blank.\n"; 
 
\t \t return false; 
 
\t } 
 
\t else if ((fd.value.length < 5) || (fd.value.length > 20)) // Number of Character entered is checked 
 
\t { 
 
\t \t fd.style.borderColor = 'Red'; 
 
\t \t document.getElementById("UserErr").innerHTML = "Username is should be in a range of 5 and 15..\n"; 
 
\t \t return false; 
 
\t } 
 
\t else if (illegalChars.test(fd.value)) // check for illegal characters 
 
\t { 
 
\t \t fd.style.borderColor = 'Red'; 
 
\t \t document.getElementById("UserErr").innerHTML = "Illegal Characters not allowed\n"; 
 
\t \t return false; 
 
\t } 
 
\t else 
 
\t { 
 
\t \t fd.style.borderColor = '#e1e1e1'; 
 
\t \t document.getElementById("UserErr").innerHTML = ""; 
 
\t \t return true; 
 
\t } 
 
} 
 

 
function validPassword() 
 
{ 
 
\t var error = ""; 
 
\t var password=document.getElementById("pass"); 
 
\t var passError=document.getElementById("PassErr"); 
 
\t var illegalChars = /[\W_]/; // Numbers and letter only 
 
\t var checkPass=/\w*[a-z]+\d+\w*/i; 
 

 
\t if (password.value == "" || password.value == null) 
 
\t { 
 
\t \t password.style.borderColor = 'Red'; 
 
\t \t passError.innerHTML = "Field Cannot be blank.\n"; 
 
\t \t return false; 
 
\t } 
 
\t else if ((password.value.length < 8) || (password.value.length > 20)) // Checks length of the password 
 
\t { 
 
\t \t password.style.borderColor = 'Red'; 
 
\t \t passError.innerHTML = "Length should be in Range of 8 to 20. \n"; 
 
\t \t return false; 
 
\t } 
 
\t else if (illegalChars.test(password.value)) 
 
\t { 
 
\t \t password.style.borderColor = 'Red'; 
 
\t \t passError.innerHTML = "Illegal characters not allowed.\n"; 
 
\t \t return false; 
 
\t } 
 
\t else if (!checkPass.test(password.value)) // Checks for numeric value in entered password 
 
\t { 
 
\t \t password.style.borderColor = 'Red'; 
 
\t \t passError.innerHTML = "Atleast one Numeric value Required "; 
 
\t \t return false; 
 
\t } 
 
\t else 
 
\t { 
 
\t \t password.style.borderColor = '#e1e1e1'; 
 
\t \t passError.innerHTML = ""; 
 
\t \t return true; 
 
\t } 
 
} 
 

 
function validateOnSubmit() 
 
{ 
 
\t if(ValidateEmail() && validUsername() && validPassword()); 
 
\t \t return true; 
 
\t \t 
 
\t \t return false; 
 
} 
 
</script>
<form method="post" name="form"> 
 
<!--<input type="text" name="email" id="email" placeholder="Your Email" onblur="return ValidateEmail()"/><span id="err"></span></td>--> 
 
<table align="center" width="30%" border="0"> 
 
<tr> 
 
<td><input type="text" name="uname" id="name" placeholder="User Name" onblur="validUsername()"/><span id="UserErr" style="color:red"></span></td> 
 
</tr> 
 
<tr> 
 
<td><input type="text" name="email" id="email" placeholder="Your Email" onblur="ValidateEmail()"/><span id="err"></span></td> 
 
</tr> 
 
<tr> 
 
<td><input type="password" name="pass" id="pass" placeholder="Your Password" onblur="validPassword()" /><span id="PassErr" style="color:red"></span></td> 
 
</tr> 
 
<tr> 
 
<td><button type="submit" onsubmit="return validateOnSubmit()" name="btn-signup">Sign Me Up</button></td> 
 
</tr> 
 
</table> 
 
</form>
Я создал регистрационную форму и создать проверку в JavaScript для полей ввода.

onBlur проверка завершение, и хорошо работает.

Но когда я нажимаю кнопку «Зарегистрироваться меня», проверка не выполняется, и данные вставляются в базу данных. Пожалуйста, мне нужна помощь.

+0

извините точка с запятой не там после удаления... Точка с запятой дает такую ​​же ошибку. – Sudip977

+0

[Атрибут placeholder HTML5 не заменяет элемент метки] (http://www.456bereastreet.com/archive/201204/the_html5_placeholder_attribute_is_not_a_substitute_for_the_label_element/) – Quentin

+0

взгляните на этот ответ http://stackoverflow.com/questions/38305238/check-post-data-with-jquery-before-submitting-the-form/38307171#38307171 – dios231

ответ

6

submit события пожар на формы, не представляют кнопки. Переместите атрибут onsubmit в начальный тег <form>.

+0

Вы правы! И какова цель ключевого слова «вернуться» в onsubmit? Как я знаю, нам просто нужно передать функцию атрибуту, нет? – Tata2

+0

спасибо .. но имеющий такую ​​же проблему – Sudip977

+0

@ Tata2 - значение атрибута - это тело функции. Возвращаемое значение отменяет событие по умолчанию (или не зависит от того, что оно есть). – Quentin

0

"emailID.focus();" неверно в функции ValidateEmail(). вместо этого «email.focus();. прав Сейчас он работает отлично, как я ожидал

но нет никакой необходимости в этом, так что я удалил его

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