2009-06-27 19 views
0

我有一個輸入框如何在用戶輸入關鍵字時觸發onclick函數? jQuery的

<input type="text" name="search" id="search" /> 
<img src="icon.png" alt="" id="doSearch" /> 

我使用jQuery和我有 「doSearch」 onclick事件。所以,當我輸入一些像「ab」這樣的單詞時,點擊「圖標」它會向php文件發送一個ajax請求,並將結果返回給dom。

$('#doSearch').click(function() { 
    $(".showResults").show("fast"); 
    var input_text = $('input[name="search"]').val(); //retrieve text 
    $.ajax({ 
     method: "get" ... 
     ... some more lines 
    }) etc etc 

我想知道我怎麼能自動觸發的onclick功能,當某些字符輸入框中被輸入使用戶不必須點擊圖片圖標,以獲得滿意的結果。此外,當我在輸入框中按Tab鍵時,如何將焦點放在圖像圖標上。

非常感謝你的幫助。

編輯:

我還有一些其他輸入框以相同的形式以及。所以這個輸入與堆棧溢出標籤輸入有些類似。

回答

2

這樣的事情?

 
$('#doSearch').keyPress(function(e){ 
    if($(this).val()=='??') $('#doSearch').trigger('click') 
}); 
+0

是的,我正在尋找這樣的事情。什麼是「??」意思??謝謝 – TigerTiger 2009-06-27 10:09:32

+0

無論何時發送點擊或不發送,都是您的情況。例如,您可以檢查輸入值是否超過2個字母。 – Thinker 2009-06-27 10:28:45

2

正確的方式做這將是這樣:

<form id='search'> 
<input type="text" name="search" id="search" /> 
<input type="image" src="icon.png" />  
</form> 

這樣的圖像將是這樣的形式提交按鈕,每當用戶按下進入表單的提交事件將被解僱,你可以做你想做的事情。

這是你怎麼能這樣做jQuery的:

$('#search').submit(function() { 
    // do what you were doing 
    return false; // prevent form submission 
}); 

這也將有友善的人用javascript禁用的上漲空間,因爲以後就可以在服務器檢查,如果它不是一個AJAX請求也許可以用所請求的內容顯示整個頁面。我非常肯定這也會使得TAB也會出現在圖片中。

相關問題