私のウェブサイトにはさまざまなフォームがあります。Jquery を使用して次のことを行います。
- テキスト フィールドのいずれかが空白の場合にエラー メッセージを表示する
- CSS で空白のフィールドを強調表示する
- ユーザーが入力するまで、フォームの送信を防ぎます。
さまざまなフォームはすべて同じ Jquery スクリプトにリンクしているため、jquery が特定のフォームを参照しないようにする必要があります (そうしないと、フォームごとに異なるスクリプトを作成する必要があります)。
これを行う最善の方法は、入力フィールドをループして入力フィールドをループし、それらが空白かどうかを確認してからevent.preventDefault();を使用することだと思いました。フォームの送信を停止し、addClassを使用してフィールドを強調表示します。
each 関数は機能しますが、preventdefault/addclass は機能しないようです。何が間違っているのかわかりません。これが私のコードです:( JSFiddleバージョン)
$(document).ready(function () {
$('.names').submit(function(){
$('.names input[type=text]').each(function(n,element){
if ($(element).val()=='') {
event.preventDefault();
alert('Some fields are blank (highlighted in red). Please fill them in');
($element).addClass("error");
return false;
}
});
return true;
});
});
どうすれば動作させることができますか? <p>
また、フィールド自体ではなく、入力フィールドの親タグにエラー クラスを適用することは可能でしょうか?