使用jQuery提交表单
作品
$('#testform').submit();
不起作用
$('#testform').submit(function () {
alert('test1');
return true;
});
这只是一个例子,但有时我想在提交表格之前做一些事情。例如,使用$.POST
更新
如果我保留两者,那么$.POST
没有价值,因为表单仍然以传统方式提交,没有ajax ......
$("#testform").submit(function() {
$.post('/myajaxcontroller', function(data) {
$('#result').html(data);
});
});
$("#testform").submit();
答案 0 :(得分:1)
第一个示例提交表单。第二个示例为您提交表单时设置事件处理程序。你需要两个;
如果你需要异步的东西,你被迫从提交处理程序return false
,所以表单没有提交,你可以在AJAX回调中提交表单。
// Send an AJAX request before submitting the form
$('#testform').submit(function () {
var form = this;
$.post('/myajaxcontroller', function(data) {
$('#result').html(data);
// everything is good, submit the form on our own
if (data.looksGood) {
form.submit();
}
});
return false;
});
答案 1 :(得分:0)
$('#testform').submit();
此行调用立即提交(提交正在运行!)
$('#testform').submit(function () {
// Do some stuff
return true;
});
此行仅定义在提交表单之前将调用哪个回调函数 。 你应该注意文档,jQuery函数不带有和不带参数的相同工作。
答案 2 :(得分:0)
使用“防止默认设置”停止发生默认提交
$("#testform").submit(function(e) {
e.preventDefault() //< ---- Add this
$.post('/myajaxcontroller', function(data) {
$('#result').html(data);
});
});
$("#testform").submit();