Javascript 如果用户输入第三个值,则提交表单文本
我这里有一个文本框Javascript 如果用户输入第三个值,则提交表单文本,javascript,html,Javascript,Html,我这里有一个文本框 <input type="test" name="search" oninput="submitForm()" autocomplete="off"> 和一个javascript代码 <script> function submitForm(){ document.getElementById("testform").submit(); } $("#aw").focus(); </script> 函数submitForm(){
<input type="test" name="search" oninput="submitForm()" autocomplete="off">
和一个javascript代码
<script>
function submitForm(){
document.getElementById("testform").submit();
}
$("#aw").focus();
</script>
函数submitForm(){
document.getElementById(“testform”).submit();
}
$(“aw”).focus();
这里的问题是,当我输入第一个值时,它会立即提交。当用户输入第三个文本值时,我如何提交表单 使用计数器,当计数器达到3时,然后提交表单
var textNumber = 0;
function submitForm(){
textNumber++;
if(textNumber == 3){
document.getElementById("testform").submit();
}
}
更新
我们无法在oninput
事件上获取keycode来处理空格和退格,因此如果您可以使用keypress
事件
<input ID="mySearch" type="test" name="search" autocomplete="off">
$("#mySearch").on('keypress', submitForm);
function submitForm(e){
if(e.which != 32){ //for space, not fired when backspace is pressed
textNumber++;
if(textNumber == 3){
document.getElementById("testform").submit();
}
}
}
$(“#我的搜索”)。在('keypress',提交表单);
函数提交形式(e){
如果(e.which!=32){//表示空格,则在按backspace时不触发
textNumber++;
如果(textNumber==3){
document.getElementById(“testform”).submit();
}
}
}
mmm…只是一个原始逻辑,在JS中放置一个计数器,当其为3时,提交!!!我想你的意思可能是当用户输入第三个字符时,即输入字段的值达到3…?但我认为计数器不可行,因为如果按空格键和退格键,计数器也会计数:/n它解决了我的问题,但我认为计数器是不可行的,因为如果你按下空格键和退格键,计数器也会计数:/n你能使用keypress
事件吗?请看一看带有keypress事件的更新答案。计算文本框的长度值,而不是每次击键时的计数器。然后,如果您愿意,您只需使用拆分或其他方法来删除空格。@Casey,OP希望提交3rr字符类型的表单。你说的话没有帮助。