0

パスワードが一致しないときにフォーム送信ボタンを無効にするjsコードをどこに含める必要があるかを理解しようとしています。

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>

変数の取得:

<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>

そして機能:

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);

   }
 }
}

$("#btnSignUp").prop("disabled", true); を置くべき場所を間違えたのかもしれません。コード?

4

2 に答える 2

1

試す

$("#btnSignUp").attr("disabled", "disabled");
于 2013-02-23T07:44:34.277 に答える
0

これは動作するはずです..

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");
}
于 2013-02-23T07:46:10.887 に答える