我有一个带有两个输入字段,一个文本和一个发送按钮的表单。我想通过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);
   }
     });
 });
});

最佳答案

代替按钮上的click,绑定到submit上的<form> 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;
  });
});

关于forms - jQuery公式onEnter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4001828/

10-12 12:55