2017-10-10 6 views
0

ユーザーがデータを入力している間にテキストフィールドを検証できますか? たとえば、ユーザーがフォーム内で1つのチェックボックスを選択し、テキストフィールドにデータを入力せずに次のチェックボックスに移動した場合、フォームは直ちにエラーを生成し、以前に選択されたチェックボックス。つまり、各セクション が正しく実行されない限り(送信ボタンがクリックされたときにフォームの最後に表示されるエラーメッセージ)HTMLフォームでは、ユーザーがフォームに記入している間にテキストフィールドを検証できますか?

ありがとうございます!ここで

+1

あなたはぼかし/フォーカスのjsをトリガーするのですか? – tomsmithweb

+3

これにはちょうど答えるように強制されましたか? – Scath

+0

@tomsmithweb、あなたはjsの参照 – familyGuy

答えて

3

あなたのためにこれを行いますプラグインの多くがあります。

jQueryのフォーム検証プラグイン:あなたはそれを手動で行うことを決定している場合This one is good

は、あなたのようなものを使用したいと思う:ここに、あなたがで遊ぶことができるものについて

$('input').on('change', function(){...}); 
1

は私が投げたjsfiddleです一緒に。それはフォーカスとぼかしイベントにjQueryを使用します。前の "必須"フィールドのいずれかが空白(またはチェックされていない)になっているかどうかをチェックします。

$(document).ready(function() { 
    function checkCheckbox(jEl) { 
    return jEl.is("input[type='checkbox']:checked"); 
    } 

    function checkTextbox(jEl) { 
    return jEl.is("input[type='text']") && jEl.val() != "" 
    } 

    function validate(el) { 
    el.parent('div') 
     .prevAll('div:has(".required")') 
     .add(el.parent('div')) 
     .addClass('error') 
     .each((i, e) => { 
     jEl = $(e).children('.required'); 
     if (checkCheckbox(jEl) || checkTextbox(jEl)) { 
      $(e).removeClass('error'); 
     } 
     }) 
    } 
    $(".required").on("focus blur", function() { 
    validate($(this)) 
    }); 
}); 
+0

に私を指摘してくださいこれは実際にはかなりクールです!ありがとうございました! – familyGuy

関連する問題