jQuery公式onEnter

时间:2010-10-23 00:23:00

标签: forms jquery

我有一个带有两个输入字段的表单,一个文本和一个发送按钮。我想通过jQuery .ajax()提交而不重新加载文档。 只要单击按钮,它就可以工作,但是当你按下return / enter时它不会工作,然后它会在没有ajax方法的情况下提交。我尝试过onEnter()或onSubmit(),但这也不起作用。

这些是代码位:

// HTML

<div id="search_form">
   <form method="POST" action="search.php">
    <input id="search_text" type="text" name="query"/>
    <input id="search_button" type="button" value="send"/>
   </form>
</div>
<div id="results"></div>

//使用Javascript

jQuery(function(){

$("#search_button").click(function(){
 var query = "query="+$("input[name=query]").val();   

 $.ajax({
      type: "GET",
      url: "request.php",
      data:query,
      cache:false,  
      success: function(result){ 
       $('#results').fadeIn();
      },
      error:function(xhr,err){
      alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
      alert("responseText: "+xhr.responseText);
   }  
     });
 });
});

1 个答案:

答案 0 :(得分:2)

而不是按钮上的click,而是<form>上的submit event,如下所示:

$(function() {   
  $("#myFormId").submit(function() {
    $.ajax({
      type: "GET",
      url: "request.php",
      data: $(this).serialize(),
      cache: false,  
      success: function(result){ 
        $('#results').fadeIn();
      },
      error:function(xhr,err){
        alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
        alert("responseText: "+xhr.responseText);
      }  
    });
    return false;
  });
});