1

jQueryの入力ボックスのぼかしの条件を確認したい。入力ボックスからフォーカスを失うと、そのボックスに再びフォーカスを合わせることができなくなります。

コード:

if ($("#Amount").val() < 10000) { 
    alert('The minimum amount is $10,000.'); 
    $("#Amount").focus();
} 
else {
}

フォーカスを失ったら$("#Amount")、そのコントロールにフォーカスを設定していません。

前もって感謝します。

4

4 に答える 4

2

まあ、これはあなたが探しているものです、私は信じています:http: //jsfiddle.net/6Seks/5/

編集:私の答えがScrooblerの投稿にどれほど近いかに気づきましたが、私の答えは彼の10000を超えるバグに苦しんでいません。

于 2011-03-31T07:56:20.000 に答える
1

.focus()jQueryでは要素に焦点を合わせますが、イベント内にある場合はテキスト入力へのアクセスを許可しません.blur()。この関数を使用してフォーカスを呼び出すと、イベント.setTimeout()の直後に発生します。.blur()

$("#Amount").blur(function() {
    if ($("#Amount").val() < 10000) { 
        alert('The minimum amount is $10,000.'); 
        setTimeout(function() {
            $("#Amount").focus();
        }, 100);
    }
});

ただし、使用法が実際に数値も入力していることを確認するために、もう少し変更することをお勧めします。

$("#Amount").blur(function() {
    var obj = $(this);
    if (isNaN(obj.val()) || obj.val() < 10000) { 
        $('#result').html('The minimum amount is $10,000.'); 
        setTimeout(function() {
            obj.focus();
        }, 100);
    }
});

ここで実際の動作を確認してください

*LeviMorrisonのコメントに従って修正*

于 2011-03-31T07:42:34.850 に答える
0

このようなことを試してください:

$("#Amount").blur(function() {
    if ($(this).val() < 10000) {
        alert('your message...');
        $(this).focus();
    }
})
于 2011-03-31T07:29:12.127 に答える
0

あなたが何を探しているのか理解できるかどうかわかりません。
何かをした後に入力ボックスを無効にする場合は、次のようにします。

jquery

$("#Amount").prop("disabled", true);

javascript

document.getElementById("Amount").disabled = true;

したがって、次のようになります。

$("#Amount").change(function() { 
    if (this.value > 10000) {
        alert('The minimum amount is $10,000.');
    }
    else {
        document.getElementById("Amount").disabled = true;
    };
})


...これがあなたが探しているものではない場合は申し訳ありません。

于 2012-05-12T22:58:18.003 に答える