簡単なログインフォームがあり、表示するエラーが発生したときにフィールドラベルの置き換えをjQueryで検証します。問題は、エラーがクリアされると、ラベルが消えることです。以前のラベルのコンテンツに戻す方法、またはフィールドが有効なときにそのラベルを再構築する方法を見つけたいです...
これが私のコードです:
$(document).ready(function(){
$("#login").validate({
errorPlacement: function(error, element) {
element.prev().replaceWith(error);
},
rules: {
"email": {
required: true,
email:true,
},
"password": {
required: true,
minlength: 6
}
},
messages: {
email: {
required: "Please enter your email address.",
email: "Please enter a <u>valid</u> email address"
},
password: {
required: "Please enter your password.",
minlength: "Please enter a password with 6 characters or more."
}
},
});
});
そしてHTML:
<form name="login" id="login" method="post" action="authenticate.php">
<p>
<label for="email">Email Address:</label>
<input type="text" name="email" id="email" class="required email" />
</p>
<p>
<label for="password">Password:</label>
<input type="password" name="password" id="password" class="required" />
</p>
<p>
<input type="submit" value="Log In" id="submit" />
</p>
基本的に、ユーザーがフォームを送信するときに、[電子メール]フィールドにデータがない場合、電子メールのラベルはエラーに置き換えられます。しかし、有効な入力ができたら、元のラベルを元に戻したいと思います。
提案を事前に感謝します、
Z