2014-12-16 5 views
1

나는 유효성 검사를 수행하기 위해 html 양식과 jquery를 작성했습니다. 하지만 제출 버튼을 클릭하면 아무 일도 일어나지 않습니다. 양식이 jquery 파일과 연결되어 있는지 여부에 관계없이 무슨 일이 벌어지고 있는지 이해할 수 없습니다. 제발 내 코드를 확인하고 도와주세요.제출 버튼을 클릭하면 jquery 유효성 검사가 작동하지 않습니다.

index.html을

<html> 
<head> 
<title>validation</title> 

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/custom.js"></script> 

</head> 
<body> 
<form action="" method="post" id="reg_form"> 
<p>Name:</p> 
<p><input id="name" name="name" type="text"></p> 
<p>What's your name?</p> 

<p>Email:</p> 
<p><input id="email" name="email" type="text"></p> 
<p>Enter mail id</p> 

<p>Password:</p> 
<p><input id="pass1" name="pass1" type="password"></p> 
<p>More than 8 characters</p> 

<p>Password:</p> 
<p><input id="pass2" name="pass2" type="password"></p> 
<p>same as above</p> 

<p>phone</p> 
<p><input id="phone" name="phone" type="text"></p> 
<p>What's your number?</p> 
<input id="submit" name="submit" type="submit" value="submit"/> 
</form> 
</body> 
</html> 

custom.js

$(document).ready(function(){ 
var form = $("#reg_form"); 
var name = $("#name"); 
var nameDetails = $("#nameDetails"); 
var email = $("#email"); 
var emailDetails = $("#emailDetails"); 
var pass1 = $("#pass1"); 
var pass2 = $("#pass2"); 
var pass1Details = $("#pass1Details"); 
var pass2Details = $("#pass2Details"); 
var phone = $("#phone"); 
var phoneDetails = $("#phoneDetails"); 
var button = $("#submit"); 

name.blur(validateName); 
email.blur(validateEmail); 
pass1.blur(validatePass1); 
pass2.blur(validatePass2); 
phone.blur(validatePhone); 

name.keyup(validateName); 
email.keyup(validateEmail); 
pass1.keyup(validatePass1); 
pass2.keyup(validatePass2); 
phone.keyup(validatePhone); 

form.submit(function(){ 
    if(validateName() & validateEmail & validatePass1 & validatePass2() &  validatePhone()){ 
    return true; 
    }else{ 
    return false; 
    } 
}); 

function validateName(){ 
if(name.val().length<5){ 
name.addClass("error"); 
nameDetails.text("Your name should have atleast 5 characters"); 
nameInfo.addClass("error"); 
return false; 
}else{ 
name.removeClass("error"); 
nameDetails.text("Whats your name?"); 
} 
} 

function validateEmail(){ 
var a = $("#email").val(); 
var regexp = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-za-zA-Z0-9_-][email protected][a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/; 

if(filter.text(a)){ 
email.removeClass("error"); 
emailDetails.text("Enter mail id"); 
emailDetails.removeClass("error"); 
return true; 
}else{ 
email.addClass("error"); 
emailDetails.text("Enter valid mail id"); 
emailDetails.addClass("error"); 
} 
} 
function validatePass1(){ 
if(pass1.val().length<8){ 
pass1.addClass("error"); 
pass1Details.text("8 characters or more"); 
pass1Details.addClass("error"); 
return false; 
}else{ 
pass1.removeClass("error"); 
pass1.Details.text("Enter mail id"); 
pass1.Details.removeClass("error"); 
return true; 
} 
} 

function validatePass2(){ 

if(pass2.val().length < 1){ 
pass2.addClass("error"); 
pass2Details.text("8 characters or more"); 
pass2Details.addClass("error"); 
return false; 
} 

if(pass1.val()!== pass2.val()){ 
pass2.addClass("error"); 
pass2Details.text("8 characters or more"); 
pass2Details.addClass("error"); 
return false; 
}else{ 
pass2.removeClass("error"); 
pass2.Details.text("Same as above"); 
pass2.Details.removeClass("error"); 
return true; 
} 
} 

function validatePhone(){ 
var b = $("#phone").val(); 
var regexp = /[0-9]{10}/; 

if(filter.text(b)){ 
email.removeClass("error"); 
emailDetails.text("Enter phone number"); 
emailDetails.removeClass("error"); 
return true; 
}else{ 
email.addClass("error"); 
emailDetails.text("Enter valid phone number"); 
emailDetails.addClass("error"); 
} 
} 

}); 
+0

나는 당신의 devtool 콘솔에서보고 싶은데, 나는 당신이 올바른 방향으로 당신을 가리 키기 위해 몇 가지 오류를 보길 기대합니다. – atmd

+0

'validateEmail & validatePass1'은'()'이 필요하다고 생각하지 않습니다. – Jai

+0

확인. 나는 그것을 바로 잡았다. Bt가 여전히 작동하지 않습니다. – Priyanka

답변

1

이 같은 문을 사용,

var name = $("#name ").val(); 

또는

var name = jQuery("#name ").val(); 

한 다음

0

$(document).ready(function(){ 
    var form = $("#reg_form").val(); 
    var name = $("#name").val(); 
    ... 
}); 
0

이 시도하려고 ... 그것은 작동합니다 ... 시도 ..

$(document).ready(function(){ 

var name = $("#name").val(); 
var nameDetails = $("#nameDetails").val(); 
var email = $("#email").val(); 
var emailDetails = $("#emailDetails").val(); 
var pass1 = $("#pass1").val(); 
var pass2 = $("#pass2").val(); 
var pass1Details = $("#pass1Details").val(); 
var pass2Details = $("#pass2Details").val(); 
var phone = $("#phone").val(); 
var phoneDetails = $("#phoneDetails").val(); 
}); 
관련 문제