如何在同一页面上提交两个表格?

时间:2011-12-16 09:23:52

标签: html java-ee struts

案例:

我有两种形式
1 GT;自定义表格说form1。
2 - ;来自第三方java脚本调用的表单呈现说form2。

以前只有一种形式
(没有第三方形式)具有相同的字段 因此,我使用单个提交按钮提交它 让我们说我把旧的形式称为Action1。

第三方表单有自己的提交按钮,它会将值(不是全部。只有第三方值)发布给自己的控制器并返回响应。

我不想让用户在同一页面上提交两次。

我想在旧提交按钮上提交两个表单并隐藏第三方提交按钮。

我可以更改回复网址(在哪里登陆以获得第三方表单提交回复)。

我正在考虑用css隐藏第三方提交按钮,并在我使用javascript点击旧提交按钮时调用点击/提交。

让我们为Action1设置第三方的响应登录页面。

但如果我落在旧动作即Action1上我无法获得旧的自定义表单元素?

我陷入了这种情况。

你能有更好的解决方案吗?

[使用struts框架和jsp渲染表单。]

2 个答案:

答案 0 :(得分:1)

使用jQuery你可以尝试这个,

$("#submit").livequery('click', function() {
    var form = $("#second_form");
    var action = form.attr("action");
    var serialized_form = form.serialize();
    $.post(action, serialized_form, submit_first);
});

function submit_first(val) {
   $("#first_form").submit();
}

第二个选项

$("#form1").submit(function(){
    $.post( $(this).attr("action"), $(this).serialize(),
        function(){
            $.post( $("#form2").attr("action"), $("#form2").seriallize(),
                function(){
                    alert("Now what?");
                });
        });
});

希望这也有帮助,Submit multiple forms with jQuery and Ajax.

答案 1 :(得分:0)

最好的办法是使用JavaScript将一个表单的参数复制到另一个表单。

可以使用相同的机制删除其他表单的提交按钮。