我还没有找到适用于我的确切功能的答案,所以在这里
我编写了一个快速函数,它应该将值发送到外部php文件并将结果加载到div中..对于1个表单输入正常工作 - 从表单获取所有表单输入并通过的最佳方法是什么他们通过PHP文件并加载结果?连载?我该如何实现呢??? :)
$(function() {
function showLoader(){
$('#results .loader').stop(true,true).fadeIn(200);
}
//hide loading bar
function hideLoader(){
$('#results').fadeIn(1500);
$('#results .loader').fadeOut(200);
};
$('#submit').keydown(function(e) {
if(e.keyCode == 13) {
showLoader();
$('#results').fadeIn(1500);
$('#results').load('/patientform.php?val=' + $('#patientSearchForm input').val(), hideLoader());
e.preventDefault();
}
});
$('#submit').click(function(){
//show the loading bar
showLoader();
$('#results .loader').fadeIn(1500);
$('#results').load('/patientform.php?val=' + $('#patientSearchForm input').val(), hideLoader());
});
});
答案 0 :(得分:1)
只需更改它即可使用序列化。但我认为更通用的功能可能更有用:
function postForm(formId, callback) {
$(formId).on("submit", function(){
$.ajax({
url: "url/GoesHere",
data: $(this).serialize(),
success: function(data) {
// request succeeded
if (callback) callback.apply(data);
},
error: function(xhr) {
// request error
alert(xhr.responseText);
}
});
return false;
})
};
您可以使用它在DOM准备好的每个表单上绑定事件。
答案 1 :(得分:0)
serialize()
怎么样? http://api.jquery.com/serialize/
答案 2 :(得分:0)
如果您拥有load()
个函数,并且在查询字符串中加载,只需将查询字符串部分替换为:
$('#results').load('/patientform.php?'+$('#patientSearchForm').serialize(), hideLoader);
将表单序列化为查询字符串以进行提交。请注意,这不适用于文件。
此外,作为备注,load
函数中的第二个参数不应包含()
。您想传递函数,而不是评估值。