0

入力フィールドのセットがあります。それらのいずれかが正しくない場合は、コントロールの上のバブル メッセージに表示しています。私がしたことは次のとおりです。

errorPlacement: function(error, element) {
        error.insertAfter(element)
        var message = error.html();
        error.html('<div class="innerError"><div class="message">' + message + '</div><div class="corner"></div></div>');
    }

現在、フィールドが無効な場合、メッセージは期待どおりに表示されますが、フィールドの外にフォーカスすると、フィールドを変更せずに、または変更しても、内部の div (メッセージ) が残ります...

ありがとうございます!

4

1 に答える 1

0

テキストボックスを検証する簡単な例

<form action="/">
    <input type="text" /><span class="error"></span><br />
    <input type="submit" value="submit" />
</form>

$(function () {

    $('input:submit').click(function (e) {

        $('input:text').each(function () {
            if ($(this).val() == "") {
                e.preventDefault();
                $(this).parent().find('span').html("input text is blank");
            }
        });

    });

    $('input:text').blur(function () {
        if ($(this).val() != "") {
            $(this).parent().find('span').text("");
        }
    });

});

したがって、基本的には .blur イベント (フォーカス アウト) を適用し、有効な場合は入力を再検証し、エラー メッセージを削除する必要があります。

于 2012-05-28T12:13:29.523 に答える