2014-03-02 41 views
0

我来到这里的文本框提交表单文本,如果用户输入3个值

<input type="test" name="search" oninput="submitForm()" autocomplete="off"> 

和JavaScript代码

<script> 
function submitForm(){ 
document.getElementById("testform").submit(); 
} 

$("#aw").focus(); 
</script> 

这里的问题是,当我进入的第一个值将其提交的权利远。如何在用户输入第三个文本值时提交表单。

+0

嗯...只是一个原始的逻辑,在JS中放置一个计数器,当它3时,提交! – NoobEditor

+0

我想你可能意思是当用户输入第三个_character_时,即输入字段的值达到3 ...的长度? – CBroe

+0

但我认为计数器是不可行的,因为计数器也计数,如果你按空格键和退格键:/ – Turbonis

回答

0

使用计数器,当它达到3时,然后提交表格。

var textNumber = 0; 
function submitForm(){ 
    textNumber++; 
    if(textNumber == 3){ 
     document.getElementById("testform").submit(); 
    } 
} 

UPDATE

我们不能oninput事件得到的键码处理空白退格,所以如果你能使用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(); 
     } 
    } 
} 
+0

它解决了我的问题,但我认为计数器不可行,因为计数器也计数,如果你按空格键和退格键:/ – Turbonis

+0

你可以使用'keypress'事件吗? –

+0

请看看更新的答案iwth按键事件。 –

相关问题