1

私はこのコードを持っています。これは、「inputix」という名前のすべての入力フィールドが空の場合に赤い境界線を持つようにします。空のフィールドのみを変更したいと思います。

htmlパートhttp://pastebin.com/4kyv8dLD

for (i=0;i<required.length;i++) {
    var input = $('#'+required[i]);
    if ((input.attr('value') === "") || (input.val() === emptyerror)) {
        input.addClass("needsfilled");
    } else {
        input.removeClass("needsfilled");
    }
}

if (!/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/.test(email.val())) {
    email.addClass("needsfilled");
    email.val(emailerror);
}


if ($(":input").hasClass("needsfilled")) {
    i=0;
    $('.inputix').css('border','solid 1px red');
    for (i=0; i<5; i++){
        $('.inputix'+[i]).css('border','solid 1px red');
    }
    return true;
}

問題は、空のものだけに赤い境界線を付けたいということです...

4

1 に答える 1

2

forループを使用する必要はありませんstart with。セレクターを使用できます。

指定された文字列で正確に始まる値を持つ指定された属性を持つ要素を選択します。

$('input[class^="inputix"]').css('border','solid 1px red')

each別の方法として、ループを使用できます。

$('form').submit(function(){
    $('input').each(function(){
        if (this.value == '') {
           $(this).addClass('error')
        } else {
            $(this).removeClass('error')  
        }
    })

    if ($('input.error').length > 0) {
        return false
    }           
})

デモ

于 2012-07-12T18:46:08.427 に答える