将1个表格附加到另一个表格 - 然后提交

时间:2014-05-13 19:24:32

标签: javascript jquery html forms

我有2个表单,1个在我的内容中,1个在我的网站的侧边栏中。我通过$_GET提交,但我想在更改任何选项时提交表单。由于他们位于2个不同的位置并且包含在2个单独的表单标记中,因此我需要将#form1附加到#form2,然后提交#form2。我已查看了SO问题,所有内容都与:inputclone()有关,但根据文档clone()不适用于select框。它写着:.clone() Documentation

  

注意:出于性能原因,某些表单元素的动态状态(例如,键入textarea的用户数据和用户选择   到select)不会复制到克隆元素。克隆输入时   元素,元素的动态状态(例如,键入的用户数据)   文本输入和用户选择复选框)保留在   克隆元素。

那么如何将select形式附加到单独的表单中呢?

这是我迄今为止所做的尝试:

jQuery('#form1 select, #form2 select').change(function(){

    // Tried this
    jQuery('#form1 select[name="select_name"]').append('#form2');

    // Tried this before the research
    jQuery('#form1 select').clone().hide().append('#form2');

    // Form submission works without the above code
    jQuery('#form2').submit();
});

上述两种方法都不起作用,我的控制台也没有出现任何错误。最糟糕的是我可以循环并将值附加为隐藏的输入,但我希望避免这种情况。

2 个答案:

答案 0 :(得分:1)

第一次尝试

jQuery('#form1 select[name="select_name"]').append('#form2');

会尝试将#form2追加到#form1 select[name="select_name"]

考虑一下......如何将表单附加到选择元素?

如果您打算将选择选项从form1附加到form2,那么您只需切换这些语句。

jQuery('#form2').append('#form1 select[name="select_name"]');这会将select form1选项附加到form2

答案 1 :(得分:0)

您可以序列化表单,附加结果并发出POST:

$.post( url, $("#form1").serialize() + "&" + $("#form2").serialize() );