0

「参加」ボタンをクリックしてフィールドを空白のままにすると、赤いフィールドが強調表示されるJavaScriptで簡単なフォームを作成しました。

記入後も「参加」ボタンを押すまでは赤のままです。したがって、クリックする代わりに、ユーザーが入力を開始したらハイライトをオフにしたいだけです。

JSFiddle: http://jsfiddle.net/LCBradley3k/xqcJS/6/ Javascript:

$(document).ready(function(){


      /*  setTimeout(function(){ 
        $('.inputs').show("slide", { direction: "down" }, 1000);
        }, 2000);
    });*/

    $('#join').click(function(){

        var correct = true;

        $('input[type="text"]').each(function(indx){
            var $currentField = $(this);
            if ($currentField.val() === ''){
                $currentField.addClass('empty');
                correct = false;
            } else{
                $currentField.removeClass('empty');
            }

        });
        if (correct) {
            $('#answer').html('Thank You!');
            setTimeout(function(){
        $('.inputs').hide("slide", { direction: "up" }, 1000);
        }, 2000);
        } else {
        $('#answer').html('Please fill highlighted fields.') ;     
        }



    });
4

5 に答える 5

0

次のコードを追加します。

$('input[type="text"]').focus(function() {            
   $(this).removeClass('empty');
});

フィールドにフォーカスすると、クラス「空」が削除されます。

于 2013-03-06T20:23:25.493 に答える
0

フォーカスを使用するか、キーアップを使用できます。

$('input[type="text"]').keyup(function(e){
  $(this).removeClass('empty');
})

入力するたびにイベントがトリガーされないため、フォーカスを使用する場合は、キーアップをフォーカスに置き換えることができます。

于 2013-03-06T19:58:52.130 に答える
0

keyupフォーム入力にハンドラーを追加して、クラスを削除します。

$('input[type="text"]').keyup(function (event) {
    var $currentField = $(this);
    if ($currentField.val() !== '') {
        $currentField.removeClass('empty');
    }
});

デモ

于 2013-03-06T19:54:12.650 に答える
0

もちろん、キーダウンにバインドするだけです。

http://jsfiddle.net/xqcJS/7/

if ($currentField.val() === ''){
    $currentField.addClass('empty');
    correct = false;
    $currentField.one('keydown',function(){
        $currentField.removeClass('empty');
    });
于 2013-03-06T19:54:31.997 に答える
0
$('input[type="text"]').keydown(function() {
    if ( $(this).val != "" )
        $(this).removeClass('empty');
});
于 2013-03-06T19:55:22.347 に答える