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