【发布时间】:2012-04-25 18:50:19
【问题描述】:
当用户完成输入时,验证用户输入文本字段的最佳方法是什么?我正在使用 javascript/jquery。有没有一种方法可以知道用户何时点击了文本字段?
【问题讨论】:
标签: javascript jquery forms
当用户完成输入时,验证用户输入文本字段的最佳方法是什么?我正在使用 javascript/jquery。有没有一种方法可以知道用户何时点击了文本字段?
【问题讨论】:
标签: javascript jquery forms
在文本字段上实现 onblur 事件处理程序,当用户跳到下一个字段时将触发该事件处理程序。
使用 jQuery,
$('.input_selector').on ('blur', function() {
var inpValue = $(this).val();
//validate Code
});
【讨论】:
$(function () { /*above code*/ });
onblur 事件将在焦点中的文本字段失去焦点时执行。如果它很复杂,只需按照您的建议使用标志/计数器。
所有来这里寻找解决方案的人,请查看this answer。
基本上:
下面的解决方案解决了这个问题,并会在 X 秒后调用 按照 OP 的要求完成。它也不再需要多余的 按键功能。我还添加了一个检查,以便您的函数调用 如果您的输入为空,则不会发生。
//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
}
所有的功劳归于最初发布此答案的人,只是复制以防有人到达这里(就像我一样)寻找解决方案。
【讨论】: