Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果用户输入第三个值,则提交表单文本_Javascript_Html - Fatal编程技术网

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字符类型的表单。你说的话没有帮助。