我有一个多页表格。每个页面将数据从一个发布到下一个,其中PHP将POST数据存储为会话数据。在表的末尾,此会话数据在最终提交之前显示在摘要表中,并将该会话数据存储在MySQL数据库中。
有两种方法可以远离表单页面:两种提交表单数据的选项。
1)执行表单操作的提交按钮,并将用户导航到后续表单页面。
2)页面菜单,用户可以从任何其他表单页面登陆。我在菜单导航上使用JavaScript来提示提交:
$('#menu a').onclick {
$('#myform').submit();
});
然而,表格的提交行为是:
<form id="myform" method="post" action="?page=survey-2">
...form fields...
</form>
因此,提交提交仅将更新的数据发布到后续页面。
在用例中:用户填写表单,到达摘要页面,看到和错误使用菜单导航回页面,改变它并使用菜单跳回到摘要页面:没有任何变化,显然是因为更新的数据仅提交到下一页,而不是其导航目的地。
有没有办法可以使用js(或任何东西),以便在菜单中单击链接时,该导航链接的DESTINATION也会收到表单数据?或者,表格的动作可以一次提交给所有页面(但默认导航仅限于后续页面)?
感谢您的考虑
答案 0 :(得分:1)
使用AJAX将数据发布到处理程序,然后转到您想要使用回调的任何地方
$('#menu a').onclick {
var data = $('#myForm').serialize();
var handler = '?page=survey-2';
$.post(handler,data,function(){
window.location.href='http://www.google.com';
})
});
有关jQuery POST的更多信息: