テキストボックスにフォーカスがあるときと空の場合に、テキストボックスの近くに「このフィールドは必須です」と表示されます。そのテキストボックスに既に何かが入力されているときに、そのエラーメッセージを表示したくありません。私はこのコードによってこれを実現しました。しかし、私のここでの問題は、テキストボックスが空で、バックスペースキーやその他の文字以外のキーを入力し続けているときです。「このフィールドは必須です」スパン要素は、どのように私はこれを解決するのですか?あなたはif
状態で最初のエラーメッセージを配置する必要がありテキストボックスの近くの検証メッセージが期待通りに機能しない
HTML
<input data-required="true" type="text" name="foo" />
<select data-required="true" >
<option value=""></option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
jqueryの
$("input[data-required='true'],select[data-required='true']").focus(function() {
$(this).after('<span class="label_error">This field is required</span>');
}).blur(function() {
$(this).next('span').remove();
}).change(function() {
if ($(this).val().length > 0) {
$(this).next('span').remove();
} else {
$(this).after('<span class="label_error">This field is required</span>');
}
}).keyup(function() {
if ($(this).val().length > 0) {
$(this).next('span').remove();
} else {
$(this).after('<span class="label_error">This field is required</span>');
}
});
ありがとうございました。あなたの最初のjsfiddleが動作しますが、私はテキストボックスにいくつかの文字を入力し、それからあなたがそれを行う方法を知っているit.doを空にするときに "このフィールドは必須です"を表示しようとしていますか? – rampantNinja
あなたが入力しているときにもメッセージを表示しますか? @avi – Pedram
はい、ユーザーがテキストボックスにいくつかの文字を入力してから、それらの文字と空のテキストボックスをすべてバックスペースにすると、テキストボックスにフォーカスしてメッセージを表示することができます。 – rampantNinja