Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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_Forms - Fatal编程技术网

Javascript 当用户完成键入时验证用户输入

Javascript 当用户完成键入时验证用户输入,javascript,jquery,forms,Javascript,Jquery,Forms,当用户完成键入时,验证文本字段的用户输入的最佳方法是什么?我正在使用javascript/jquery。是否有一种方法可以知道用户何时单击了文本字段?在文本字段上实现onblur事件处理程序,当用户切换到下一个字段时将触发该处理程序 使用jQuery $('.input_selector').on ('blur', function() { var inpValue = $(this).val(); //validate Code }); 对于所有来这里寻找解决方案的人,请检查

当用户完成键入时,验证文本字段的用户输入的最佳方法是什么?我正在使用javascript/jquery。是否有一种方法可以知道用户何时单击了文本字段?

在文本字段上实现
onblur
事件处理程序,当用户切换到下一个字段时将触发该处理程序

使用jQuery

$('.input_selector').on ('blur', function() {
    var inpValue = $(this).val();
    //validate Code
});

对于所有来这里寻找解决方案的人,请检查

基本上:

下面的解决方案解决了此问题,并将在X秒后调用 按照OP的要求完成。它也不再需要冗余 按键功能。我还添加了一个检查,以便您的函数调用 如果输入为空,则不会发生


这一切都归功于最初发布这个答案的那个人,只是抄袭一下,以防有人来这里(和我一样)寻找解决方案

我不禁注意到,在页面加载时,这个onblur会自动运行。有什么方法可以解决这个问题吗?您是否将焦点设置为任何输入元素?尝试将代码包装到
$(函数(){/*位于代码*/}之上)抱歉,已自动对焦。有没有办法绕过这个问题,这样我就可以进行自动对焦,而无需运行函数进行验证?我会运行一个计数器,所以如果它是0,不要做任何事情。。。否则,验证?@droidus在页面加载时,是否将焦点设置在一个字段上,然后将焦点更改为其他字段?是的,您可以使用标志或计数器来确定要避免的错误that@droidus当焦点中的文本字段失去焦点时,将执行
onblur
事件。如果它很复杂,只需按照您的建议使用标志/计数器即可。
//setup before functions
var typingTimer;                //timer identifier
var doneTypingInterval = 5000;  //time in ms, 5 seconds for example

//on keyup, start the countdown
$('#myInput').keyup(function(){
    clearTimeout(typingTimer);
    if ($('#myInput').val()) {
        typingTimer = setTimeout(doneTyping, doneTypingInterval);
    }
});

//user is "finished typing", do something
function doneTyping() {
    //do something 
}