2011-08-04 81 views
2

現在我有jQuery的這種流動:提交值回車鍵

$('input#search').click(function(){ 
     $('textarea#people').fadeIn(); 
     $('input#searchpeople').fadeIn(); 
     $('input#add').hide(); 
     $('input#search').hide(); 
    }); 

$("#searchpeople").click(function(){ 
    var people=$("textarea#people").val(); 
    $.post("searchpeople.php",{people:people},function(result){ 
    $("div.callback").html(result); 
    }); 
    }); 

我簡單的問題是,而不必不必點擊搜索按鈕的用戶,該按鈕會自動點擊時用戶按下輸入鍵。

回答

7

你必須做到以下幾點...

  1. 在文本框的按鍵,檢查「確認鍵」(輸入的密鑰碼13 )
  2. 如果是這樣,通話按鈕,點擊功能

Demo can be found here

$('input#search').click(function(){ 
      $('textarea#people').fadeIn(); 
      $('input#searchpeople').fadeIn(); 
      $('input#add').hide(); 
      $('input#search').hide(); 
     }); 
    $('input#search').keypress(function(){ 
     if($(this).keyCode == 13) 
     { 
      Search(); 
     }  
    }); 

    $("#searchpeople").click(Search); 


    function Search() 
    { 
     var people=$("textarea#people").val(); 
     $.post("searchpeople.php",{people:people},function(result){ 
     $("div.callback").html(result); 
     } 
1

,而不是處理點擊按鍵,你可以只使用一個form和處理submit事件:

<form> 
    <textarea id="people"></textarea> 
    <input id="search" type="submit" /> 
</form> 

<script> 
    $('form').submit(function() { 
     // do stuff 
     return false; 
    }); 
</script> 
+0

有沒有辦法提交當你專注textarea的內 – Gino