我有一个带有单个输入的表单,正由条形码扫描器填充。我只是在输入内容为7个字符的情况下尝试使用JS或Jquery提交表单。我想要自动提交的表单,用户不必点击提交。我看了很多例子,但还没有找到一个有效的解决方案。
这是我的尝试:
<form action="PupListMobile.php" id="my_form" method="get">
<label for="text-1"></label>
<input type="text" autofocus name="sID" id="sID" value="" id="my_button" placeholder="CLICK TO SCAN:">
<input type="hidden" name="lane" value="1" />
<input id="subHere"type="submit" value="Submit" />
</form>
Jquery的:
$('#sID').keyup(function(){
if(this.value.length ==7){
$('#subHere').click();
}
});
$(document).ready(function() {
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
});
答案 0 :(得分:2)
我将从以下开始:
maxlength="7"
添加到文本输入中,因为您使用的是keyup(..)
,因此您无法按住键以强制输入长于7个字符的文本设置最大长度
<input type="text" autofocus name="sID" id="sID" value=""
id="my_button" placeholder="CLICK TO SCAN:" maxlength="7" />
自动提交表单
$(function() {
var $id = $('#sID');
$id.keyup(function(e) {
if ($id.val().length >= 7) {
$(this.form).submit();
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form action="PupListMobile.php" id="my_form" method="get">
<label for="text-1"></label>
<input type="text" autofocus name="sID" id="sID" value="" id="my_button" placeholder="CLICK TO SCAN:" maxlength="7" />
<input type="hidden" name="lane" value="1" />
<input id="subHere"type="submit" value="Submit" />
</form>
&#13;
答案 1 :(得分:1)
$(function(){
$('#sID').keyup(function(){
if(this.value.length ==7){
alert(123);
$('#subHere').click();
}
});
})
你可以测试一下这个