1

ボタンをクリックしたときにnullまたは値がない場合、すべての入力テキスト境界線の色を同時に変更したかったのですが、これを行う機能があります。最初に、値をチェックする入力テキストを配列に入れ、次に関数を呼び出して、配列をループし、null 値をチェックします。ボタンをクリックすると、入力テキストがすべてnullの場合、配列の最初のインデックスの色のみが変更されます。

これが私の機能です:

function isValid(array){
            for(var x=0;x<array.length;x++){
                if (array[x].value.trim() == ""){
                    $(array[x]).css("border-color","#FF0000");
                    return false;
                }
            }
        }

これは私が自分の関数を呼び出す方法です:

var array = [document.getElementById('txtLastName'),
            document.getElementById('txtFirstName')
            ];
if (!isValid1(array)) {
return false;
    }

配列内のすべての入力の境界線の色を null 値で変更する方法は? ありがとう!

4

3 に答える 3

2

これが私の2セントです。調整が必要な場合があります。

function isValid(selector){
    return ($(selector).filter(function() {
        return (this.value.trim() === "");
    }).css("border-color","#FF0000").length === 0);
}

使用するには:

isValid("#txtLastName, #txtFirstName");

呼び出し元で CSS セレクターを作成して に渡します。配列を渡して でセレクターを作成するisValid()こともできます。["txtFirstName", "txtFirstName"]isValid()

これを行うには多くの方法があります。よりモジュール化されたアプローチは、nullValidateクラスをセレクターとして使用することです。これにより、検証済みのフィールドを好きなだけ持つことができます。

編集:無効な要素が見つかった場合に返す

于 2013-08-05T05:07:17.100 に答える
0

ちょうど私の2セントの価値

<form name="form">
<input type="text" name="firstname" />
<input type="button" name="submit_btn" value="send" />
</form>


$(document).ready(function(){

$('input[type="text"]').keyup(function(){
    var length = $('input[type="text"]').val().length;
    if(length===0){
        $(this).css({"border":"1px solid red"});
    }
    else {
        $(this).css({"border": ""});
    }
});

$('input[type="button"]').click(function(){
   var length = $('input[type="text"]').val().length;
    if(length===0){
        $('input[type="text"]').css({"border":"1px solid red"});
    } else {
        $('input[type="text"]').css({"border":""});
    }
});

});

于 2013-08-05T06:48:49.530 に答える
0

jQuery とバニラ JS が混在する理由..filterメソッドを使用するだけです。

$('#txtLastName, #txtFirstName').filter(function() {
    return $.trim(this.value) === '';
}).css("border-color","#FF0000");

また、コードの記述方法に問題はありません。

おそらく正しいIDを使用していなかったに違いありません。

あなたのコード

JQuery コード

于 2013-08-05T05:00:32.377 に答える