前提・実現したいこと
入力フォームのバリデータを作っているところです。
すでに表示したエラー要素があるかないかを判別して、なければ表示、あったら表示しないということをやりたいです。
発生している問題・エラーメッセージ
<input type="text" name="name" class="validate required"> に対して空欄にしてfocusを外すと意図通り、テキストボックスの上に <p class='error'>必須項目です</p> と表示されます。 しかし、その後何回もfocusをあてて、外してを繰り返すと何行も <p class='error'>必須項目です</p> が追加されてしまいます。
該当のソースコード
$(":text.validate,textarea.validate").on('blur', function() { $(this).filter(".required").each(function(){ if($(this).val()==""){ if( !$(this).parent('p.error').length ) { $(this).parent().prepend("<p class='error'>必須項目です</p>"); } }else{ $(this).parent('p.error').remove(); } }); });
試したこと
parentをparentsやclosestで試しましたが一緒でした。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/04 13:25