我正在为我的表单寻找一个自动提交功能,一旦用户输入一定长度的文本(比如15个字符)进入输入字段,就应该提交它。
jQuery中是否有任何函数(在非常短的时间间隔内)检查输入字段中文本的长度,并在满足所需数量的字符后运行函数?有任何想法吗?
编辑: 我正在寻找这个功能: 用户使用表单输入页面 - 输入字段上的autofocuses - 用户使用扫描仪读取条形码 - 然后条形码编号粘贴在输入字段中(不是keyup,keydown事件),表单将自动提交。
解决: 使用此函数来捕获输入字段中的更改:
$(#inputField).bind('input propertychange', function(){
dostuff();
});
答案 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') }
});