入力フィールドの後に入力フィールドの後にjQueryの.after()
メソッドを使用してエラーメッセージと共にDOM要素を挿入している、問題を抱えています。焦点が合っている。しかし、フィールドが空であり、入力フィールドが1回以上フォーカスされ、フォーカスが外れている場合、DHTML DOM要素は複数回追加されます。 Javascriptがようである同じDOM要素が入力要素の後に挿入されています
<div class="container">
<h1>Hello</h1>
<form>
<input type="text" name="username" id="username">
<input type="password" name="password" id="password">
<input type="submit" name="login" value="Login">
</form>
</div>
<style type="text/css">
.error-form{
color: red;
}
</style>
:として
HTMLがある
(function(){
var form = jQuery('form')[0];
jQuery.each(form, function(i, v){
$(v).on('focusout', function(evt){
var self = $(this);
if (self.val().length < 1) {
self.after($('<span />', {
text: "This field is required",
class: 'error-form'
}));
}
});
});
})();
私は要素がすでに追加止めるよりも、存在しているかどうかをチェックするようなソリューションを試みたが、成功しませんでした。どうすれば問題に対処できますか?
すべての提案をいただければ幸いです。