简体   繁体   English

密码不匹配时禁用表单提交按钮

[英]disable form submit button when password does not match

I'm trying to figure out where I'm supposed to include a js code where I disable the form submit button when the passwords don't match. 我试图弄清楚应该在哪里包含js代码的地方,当密码不匹配时,我会在其中禁用表单提交按钮。

html: 的HTML:

<form name=passform class="form-horizontal-signup" method="post" action="login.php" >



    <fieldset>
    <legend>Sign Up for MyVibes</legend>
    <input type="password" class="input-xlarge" placeholder="Password" name="password" id="password" onKeyUp="verify.check()" />
    <input type="password" class="input-xlarge" placeholder="Retype Password" name="repassword" id="repassword" onKeyUp="verify.check()"/></fieldset>
    <div id="password_result">&nbsp; </div><br />
    <button type="submit" input name="btnSignUp" id="btnSignUp" class="btn btn-inverse" disabled="disabled"/>Sign Up</button>
    </form>
    </div>

getting the variables: 获取变量:

<SCRIPT TYPE="text/javascript">


            verify = new verifynotify();
            verify.field1 = document.passform.password;
            verify.field2 = document.passform.repassword;
            verify.result_id = "password_result";
            verify.match_html = "Passwords match.";
            verify.nomatch_html = "Please make sure your passwords match.";

            // Update the result message
            verify.check();

            //
            </SCRIPT>

and the function: 和功能:

function verifynotify(field1, field2, result_id, match_html, nomatch_html) {
 this.field1 = field1;
 this.field2 = field2;
 this.result_id = result_id;
 this.match_html = match_html;
 this.nomatch_html = nomatch_html;

 this.check = function() {

   // Make sure we don't cause an error
   // for browsers that do not support getElementById
   if (!this.result_id) { return false; }
   if (!document.getElementById){ return false; }
   r = document.getElementById(this.result_id);
   if (!r){ return false; }

   if (this.field1.value != "" && this.field1.value == this.field2.value) {
     r.innerHTML = this.match_html;
      $("#btnSignUp").prop("disabled", false);

   } else {
     r.innerHTML = this.nomatch_html;
      $("#btnSignUp").prop("disabled", true);

   }
 }
}

maybe i misplace where i'm supposed to put the $("#btnSignUp").prop("disabled", true); 也许我放错了我应该放置$(“#btnSignUp”)。prop(“ disabled”,true)的位置; code? 码?

尝试

$("#btnSignUp").attr("disabled", "disabled");

this should works.. 这应该工作..

if (this.field1.value != "" && this.field1.value == this.field2.value) {
 r.innerHTML = this.match_html;
  $("#btnSignUp").removeAttr("disabled");

} else {
 r.innerHTML = this.nomatch_html;
  $("#btnSignUp").attr("disabled", "disabled");
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM