根据链接将表单数据提交到各个位置

时间:2012-10-09 20:09:21

标签: php javascript html forms

我有一个多页表格。每个页面将数据从一个发布到下一个,其中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也会收到表单数据?或者,表格的动作可以一次提交给所有页面(但默认导航仅限于后续页面)?

感谢您的考虑

1 个答案:

答案 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的更多信息:

http://api.jquery.com/jQuery.post/