1

我正在为我的表单寻找一个自动提交功能,一旦用户在输入字段中输入一定长度的文本(比如说 15 个字符)就应该提交它。

jQuery 中是否有任何函数会不断(以非常短的时间间隔)检查输入字段中文本的长度并在满足所需的字符数后运行函数?有任何想法吗?

编辑:我正在寻找此功能:用户使用表单输入页面-自动聚焦在输入字段上-用户使用扫描仪读取条形码-然后将条形码编号粘贴在输入字段中(不是 keyup、keydown 事件)和表格是自动提交的。

已解决:使用此功能捕捉输入字段的变化:

$(#inputField).bind('input propertychange', function(){
  dostuff();  
});
4

2 回答 2

7

interval让我们将keyup事件处理程序附加到文本字段,而不是在特定的输入字段中检查文本长度。每次keyup触发事件时,我们都会检查长度是否超过 15。如果超过,我们将使用.submit()API 提交表单。

$('yourTextBoxSelector').on("change paste keyup", function(){
    if($(this).val().length >15){
        $('yourFormSelector').submit()
    }
});

更新: jQuery 有一个事件paste。你可以用它...

于 2012-09-16T13:01:28.057 回答
0

这是我处理这个问题的方法。这也考虑到用户复制和粘贴到输入区域。

Jsfiddle -> http://jsfiddle.net/PgzrU/4/

下面的代码:

var max = 15;
$('input').change(function(e)
{  
  if ($(this).val().length > max) { alert('form fired') }
}).keyup(function(e)
{  
  if ($(this).val().length > max) { alert('form fired') }
});​
于 2012-09-16T13:03:22.400 回答