定期提交表单提交/重定向提交按钮与JQuery提交其他输入(验证)
问题描述:
我有一个表单,我正在使用Jquery提交表单,以在屏幕右侧创建预览输出(I有一些复杂的输入,并希望使用红宝石来处理它们来创建预览)。定期提交表单提交/重定向提交按钮与JQuery提交其他输入(验证)
在用户完成表单并按下提交按钮后,我希望表单正常提交(即,就好像没有使用Jquery一样)。有没有办法做到这一点?
我觉得这个答案可能很简单,我完全错过了一些东西。
这里是我如何提交选择按钮(审定)
$('#body_message select').change(function() {
$('form').submit();
});
这是我处理的提交按钮当前的代码。当用户点击提交按钮时,我更改ID为“message_submit_button”的隐藏字段的值,因此此提交将与验证提交的处理方式不同。
$('#body_message input[type="submit"]').click(function() {
$('#body_message #message_submit_button').val("1");
$('form').submit(function(){
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: XMLHttpRequest.getResponseHeader("Location"),
dataType: "html"
});
return false;
});
});
编辑: 使用答案的第一部分,我已经改变了Jquery的在我的提交按钮的下面,并且它可以作为期望:
$('#body_message input[type="submit"]').click(function() {
$('#message_submit_button').val("1");
$('form')[0].submit();
});
答
你可以通过调用原生form.submit()
功能绕过jQuery .submit()
处理程序,如下所示:
$('form')[0].submit();
我会改变这样的:当提交
$('#body_message input[type="submit"]').click(function() {
$('#message_submit_button').val("1");
var form = $(this).closest("form")
$.ajax({
type: 'POST',
url: form.attr('action'),
data: form.serialize(),
success: XMLHttpRequest.getResponseHeader("Location"),
dataType: "html"
});
return false;
});
在其他按钮
然后...只是什么都不做,它会正常提交,这样,这个处理程序处理只有这个提交按钮,而不是其他人应该做正常的提交。
是的!非常感谢。你说的第一件事情非常出色(包括更新的问题)。 – amt1983 2010-10-12 11:40:45