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);
    }
});

在此处查看实际操作

*根据Levi Morrison的评论更正*

于 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 回答