如何在输入一定长度的文本后自动提交表单到输入字段

时间:2012-09-16 12:58:22

标签: jquery forms submit

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

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

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

解决: 使用此函数来捕获输入字段中的更改:

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

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分: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') }
});​