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