检查密码和确认密码是否相同的验证无效

bha*_*shi 1 javascript

这是我的代码:

function validate_form(thisform)
{
with (thisform)
  {
      if (validate_required(name,"Name must be filled out!")==false)
  {name.focus();return false;}
  if (validate_required(country," Country must be filled out!")==false)
  {country.focus();return false;}
  if (validate_required(state,"State must be filled out!")==false)
  {state.focus();return false;}
  if (validate_required(city,"City must be filled out!")==false)
  {city.focus();return false;}
  if (validate_required(contact,"Contact must be filled out!")==false)
  {contact.focus();return false;}
  if (validate_required(emailid,"Email must be filled out!")==false)
  {emailid.focus();return false;}
  if (validate_email(userid,"Email is not valid")==false)
  {userid.focus();return false;}
  if (validate_required(password,"pasword must be filed out")==false)
  {password.focus();return false;}
  if (validate_required(cpassword,"Password must be confirmed")==false)
  {cpassword.focus();return false;}

if(validate_required((password.value != cpassword.value),"Your password and confirmation password do not match.")==false) {
cpassword.focus();return false;


}
Run Code Online (Sandbox Code Playgroud)

所有其他验证都有效,但不是最后一个.为什么会如此以及如何解决?

Dmi*_*ryK 6

我猜你从这个页面得到了validate_required()函数:http://www.w3schools.com/js/js_form_validation.asp

function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {
    alert(alerttxt);return false;
    }
  else
    {
    return true;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您的最后一个条件将无法正常工作.

您可以将其替换为:

if (password.value != cpassword.value) { 
   alert("Your password and confirmation password do not match.");
   cpassword.focus();
   return false; 
}
Run Code Online (Sandbox Code Playgroud)