1

フォームを作成しています。各入力フィールドのフォームの送信時に、その入力フィールドが入力されていない場合に追加されるエラーボックスがあります。その入力フィールドのエラーボックス onFocus を削除または表示したいのですが、コード内ではその位置に残ります。私は試してみましたが、同様の投稿をすべて調べましたが、解決策を見つけることができませんでした。ありがとうございました!

htmlコードは次のようになります

<div class="rowform">
        <label for="name">Name<span>*</span>:</label>
        <input type="text" class="mid" name="name" id="name" onFocus="fcs();"/><span id="name_error"></span>

    </div>

script //フォームの送信時にエラーボックスを追加する方法

if($("#listcontact #name").val()==""){
    $("#name_error").append("<div class='formerror'>Please enter your name</div>");
}

// on Focus 関数は次のようになります

    function fcs()
{
$(".formerror").remove();}
4

4 に答える 4

3

何かのようなもの:

$(".rowform").on("focus", "input", function(){
    $(this).closest(".rowform").find(".formerror").hide();
});

更新:実際、イアンが言ったようなイベント委任は必要ありません。

$(".rowform").find('[type="text"]').on("focus", function(){
    $(this).closest(".rowform").find(".formerror").hide();
});

作業フィドル: http://jsfiddle.net/Ar7AT/

于 2013-08-07T19:40:57.357 に答える
0

フォローしてみてください

$("#name").focus(function(){
    $(".formerror").remove();
});

$("#btn").on("click",function(){

 $(".formerror").remove();

 if($("#name").val()==""){  
    $("#name_error").append("<div class='formerror'>Please enter your name</div>");
 }
});

ここで働くフィドル:http://jsfiddle.net/fzS95/1/

役立つことを願っています。

于 2013-08-07T19:44:49.643 に答える
0

使用できます。remove()代わりは.hide()

$(".rowform").on("focus", "input", function(){
    $(this).closest(".rowform").find(".formerror").remove();
});
于 2013-08-07T19:44:57.173 に答える