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

Append 1 Form to Another Form - Then Submit

本文关键字:表单 另一个 然后 提交 一个      更新时间:2023-09-26

我有两个表单,一个在我的内容中,另一个在网站的侧边栏中。我通过$_GET提交它们,但我想在任何选择更改时提交表格。由于它们位于两个不同的位置,并且包装在两个单独的表单标签中,我需要将#form1附加到#form2,然后提交#form2。我已经查看了SO问题,所有问题都涉及:inputclone(),但根据文档,clone()不适用于select框。它读取:.clone((文档

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

那么,如何将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();
});

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

第一次尝试

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

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

思考一下…如何将表单附加到select元素?

如果你的意图是将select选项从form1附加到form2,那么你只需要切换这些语句。

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

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

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