2014-03-02 70 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按鍵事件。 –

相關問題