JQuery输入框焦点问题

JQuery输入框焦点问题,jquery,focus,inputbox,Jquery,Focus,Inputbox,我想检查jQuery中输入框模糊的一些条件。一旦我从输入框中失去焦点,我就无法再次将焦点转移到该框中 代码: if($(“#Amount”).val()

我想检查jQuery中输入框模糊的一些条件。一旦我从输入框中失去焦点,我就无法再次将焦点转移到该框中

代码:

if($(“#Amount”).val()<10000){
警报(“最低金额为10000美元”);
$(“#金额”).focus();
} 
否则{
}
一旦我从
$(“#Amount”)
中失去焦点,它就不会将焦点设置到该控件


提前谢谢。

试试这样的东西:

$("#Amount").blur(function() {
    if ($(this).val() < 10000) {
        alert('your message...');
        $(this).focus();
    }
})
$(“#金额”).blur(函数(){
如果($(this).val()<10000){
警报(“您的消息…”);
$(this.focus();
}
})
jQuery中的内容将集中在元素上,但当其位于事件中时,将不允许访问文本输入。您可以使用
.setTimeout()
函数调用焦点,使其在事件发生后立即发生:

$(“#金额”).blur(函数(){
如果($(“#金额”).val()<10000{
警报(“最低金额为10000美元”);
setTimeout(函数(){
$(“#金额”).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);
    }
});
$(“#金额”).blur(函数(){
var obj=$(本);
如果(isNaN(obj.val())| | obj.val()<10000){
$('#result').html('最低金额为10000美元');
setTimeout(函数(){
obj.focus();
}, 100);
}
});
从中看到它


*根据的评论更正*

好吧,这就是你要找的,我相信:


编辑:刚刚注意到我的答案离你有多近,虽然我的答案没有他的10000个以上的错误。

我不确定我是否理解你在寻找什么。
如果您在执行某项操作后禁用了输入框,则可以使用:

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


…如果这不是您要找的,很抱歉。

您能简要介绍一下您的问题吗???。。。我不明白。@Scroobler这行不通,伙计。。。输入一个大于10000的数字,它仍然不起作用。查看我的代码(),如果您能看到您做错了什么,请尝试;)哈哈,这是个不错的错误!我会责怪咖啡还没有开始喝:-)它没有集中注意力。您必须在焦点上设置一个超时。真的很烦人,但是是的,卡拉!!Salvou minha vida hahaha
+1
这不是OP要求的。
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;
    };
})