Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入值无效时如何禁止调焦输出_Javascript_Jquery_Html - Fatal编程技术网

Javascript 输入值无效时如何禁止调焦输出

Javascript 输入值无效时如何禁止调焦输出,javascript,jquery,html,Javascript,Jquery,Html,有一些文本输入字段(3+)如下所示: A:__ B:__ C:__ js将在聚焦输入字段时验证该值,如果无效,我希望它仍聚焦在当前字段中,但无法实现,以下是我的代码: HTML: JS: “$(this).focus();”不起作用,它将集中在下一个输入字段上,如何允许它仅在输入值有效时才focusout?我在JSFiddle()中尝试了您的代码,它似乎做了您希望它做的事情。这也是一个非常讨厌的函数——例如,当一个字段无效时,我无法更改浏览器选项卡、应用程序或任何东西——因此我建议您找到一种

有一些文本输入字段(3+)如下所示:

A:__ B:__ C:__ 
js将在聚焦输入字段时验证该值,如果无效,我希望它仍聚焦在当前字段中,但无法实现,以下是我的代码:

HTML:

JS:


“$(this).focus();”不起作用,它将集中在下一个输入字段上,如何允许它仅在输入值有效时才focusout?

我在JSFiddle()中尝试了您的代码,它似乎做了您希望它做的事情。这也是一个非常讨厌的函数——例如,当一个字段无效时,我无法更改浏览器选项卡、应用程序或任何东西——因此我建议您找到一种更方便用户的方法来处理无效字段。您应该使用模糊事件,而不是聚焦输出。这两者之间有明显的区别,其中focusout事件还检查子元素的焦点,如果我没记错的话,它是不符合W3C的。此外,您还可以通过删除警报和其他方式在页面上显示错误来修复Zaid所说的话!这听起来是个非常糟糕的主意。在用户输入有效值之前强制聚焦-您在网站上见过该功能吗?我没有——这是有充分理由的。谢谢大家,现在这个函数不起作用了,它会提醒一条消息,但会关注下一个输入字段,在jquery移动框架中。我想知道的是“彩票销售”,你知道数字是不能复制的。也许你们是对的,用红色显示无效数字是一个更好的选择。不管怎样,作为一个技术问题,有人有一个解决方案——专注于当前领域吗?
<div class="input-short">
  <input type="text" data-mini="true" id="no1" name="no1" maxlength="2" placeholder="#1" />
</div>
<div class="input-short">
  <input type="text" data-mini="true" id="no2" name="no2" maxlength="2" placeholder="#2" />
</div>
<div class="input-short">
  <input type="text" data-mini="true" id="no3" name="no3" maxlength="2" placeholder="#3" />
</div>
.input-short {
    float: left;
    width: 35px;
}
$('#no1').focusout(function(){
    if( $(this).val() == "" ||
       $(this).val() == $('#no2').val() ||
       $(this).val() == $('#no3').val() )
    {
        alert( "no" );
        $(this).focus();
    }
});
$('#no2').focusout(function(){
    if( $(this).val() == "" ||
       $(this).val() == $('#no1').val() ||
       $(this).val() == $('#no3').val() )
    {
        alert( "no" );
        $(this).focus();
    }
});