모든 유효성 검사 작업에 양식 유효성 검사 스크립트가 있습니다. 일치하지 않는 비밀번호에 대한 경고가 표시되면 필드가 비워집니다. 내가 어떻게 피할 수 있니?암호 유효성 검사가 일치하지 않아 모든 필드가 지워집니다.
<script type="text/javascript">
function formValidator(){
// Make quick references to our fields
var FNAME = document.getElementById('FNAME');
var LNAME = document.getElementById('LNAME');
var EMAIL = document.getElementById('EMAIL');
var GENDER = document.getElementById('GENDER');
var ADDRESS = document.getElementById('ADDRESS');
var CONTACTNO = document.getElementById('CONTACTNO');
var PASSWORD = document.getElementById('PASSWORD');
var PASSWORD2 = document.getElementById('PASSWORD2');
// Check each input in the order that it appears in the form!
if(isAlphabet(FNAME, "Please enter only letters for your first name"))
{
if(isAlphabet(LNAME, "Please enter only letters for last name"))
{
if(emailValidator(EMAIL, "Please enter a valid email address"))
{
if(madeSelection(GENDER, "Please Choose a Gender"))
{
if(isAlphanumeric(ADDRESS, "Numbers and Letters Only for Address"))
{
if(isNumeric(CONTACTNO, "Please enter only numbers for Contact No."))
{
if(lengthRestriction(PASSWORD, 6))
{
if (PASSWORD2 != PASSWORD)
{
alert ("You did not enter the same new password twice. Please re-enter your password.");
return true;
}
}
}
}
}
}
}
}
return false;
}
다른 기능에는 문제가 없다고 생각합니까?
function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}
function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isAlphanumeric(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function lengthRestriction(elem, min){
var uInput = elem.value;
if(uInput.length >= min){
return true;
}else{
alert("Please enter atleast " +min+ " characters");
elem.focus();
return false;
}
}
function madeSelection(elem, helperMsg){
if(elem.value == "Please Choose"){
alert(helperMsg);
elem.focus();
return false;
}else{
return true;
}
}
function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
</script>
제가이 부분을 잘못하고있는 것 같습니까? 그러나 나는 그것을 고치는 법을 모른다. 도와주세요.
if (PASSWORD2 != PASSWORD)
{
alert ("You did not enter the same new password twice. Please re-enter your password.");
return true;
}
내 느낌은 당신이 양식을 제출 방법에 의한 것을 말한다. 유효성 검사를 실행하는 페이지를 보여주십시오. 나는 당신이 거기서 양식을 작성했다고 의심합니다. – Rudy
또한 코드를 제거하면 (패스워드! = 패스워드) 제대로 작동합니다. – user1460013