フォームの検証にjqueryを使用しています。パスワードの確認フィールドを除き、残りは十分です。同じパスワードを入力しても、同じパスワードを入力してください。は削除されません。
私のスクリプトは次のとおりです。
<script type="text/javascript">
$(document).ready(function() {
$("#form1").validate({
rules: {
password: {
required: true, minlength: 5
},
c_password: {
required: true, equalTo: "#password", minlength: 5
},
email: {
required: true, email: true
},
phone: {
required: true, number: true, minlength: 7
},
url: {
url: true
},
description: {
required: true
},
gender: {
required: true
}
},
messages: {
description: "Please enter a short description.",
gender: "Please select your gender."
}
});
});
-->
</script>
そして、フォームタグ内:
<div class="form-row"><span class="label">Password</span><input type="password" name="password" class="required" id="password" /></div>
<div class="form-row"><span class="label">Confirm Password</span><input type="password" name="c_password" id="c_password" /></div>
なにか提案を?ヘルプに感謝します。
フィールドにはIDプロパティがありません。 jQueryでは、「#password」セレクターは「値が'password'
のid
プロパティを持つオブジェクト」を意味します
コードは次のようになります。
<input type="password" name="password" id="password" class="required"/>
<input type="password" id="password" class="nomal required error" value="" name="cpassword">
<input type="password" equalto="#password" class="nomal required error" value="" name="cpassword">
rules: {
閉じていません。別の}
後:
messages: {
description: "Please enter a short description.",
gender: "Please select yor gender."
}
これは、要素IDに関する答えと同様です。
パスワードの入力テキストのIDが「password」であることを確認してください
同じページにタグid='password'
を含む他の入力がないことを確認してください。
パスワード入力にcamelCase IDを使用すると、いくつかの問題が発生しました。最終的に、異なる「名前」と「ID」で動作するようになりました。
<input type="password" id="pass" placeholder="New password" name="newPassword">
<input type="password" id="pass2" placeholder="New password" name="repeatNewPassword">
<input type="email" id="inputNewEmail" name="newEmail" placeholder="New email">
<input type="email" id="repeatNewEmail" name="repeatNewEmail" placeholder="New email>
次に、JSで:
rules: {
newPassword: {
minlength: 6
},
repeatNewPassword: {
minlength: 6,
equalTo: "#pass"
},
newEmail: { email: true},
repeatNewEmail: {email: true, equalTo: '#inputNewEmail'},
}
そのため、「名前」で入力フィールドを参照しますが、「id」を使用してequalToの依存関係を定義します。キャメルケースの問題についてはわかりませんが、電子メールの入力は機能していましたが、パスワード入力とまったく同じ命名法は機能しませんでした、私の経験によると
if($("#newpassword").val()!== ($("#conformpassword").val())){
$('#newpasswordId').html('<font color="red">Your password does not match</font>');
$("#newpassword").val('');
$("#conformpassword").val('');
$('#newpassword').css("border", "#FF0000 solid 1px")
$('#conformpassword').css("border", "#FF0000 solid 1px")
$("#newpassword").focus();
return false;
}