试图修复嵌套的窗体

Trying to fix nested forms

本文关键字:窗体 嵌套      更新时间:2023-09-26

我正试图为我的客户的问题写一个修复-他的主要形式,这是相当大的,跨越许多选项卡,包括内容,其中包括模态形式(所以如果你有一个列表与您的个人资料相关的小部件,一个弹出式表单可以让你添加另一个)。情态动词不起作用,因为它们在表单中创建了一个表单,所以我想我可以把它们推到页面的末尾,像这样:

$('body').append('#modalFormID');

但是这不起作用,因为浏览器似乎在文档之前从DOM中剥离了第二个表单标签。准备好可以开火了。我在这里创建了一个jsFiddle:

任何帮助都是感激的。谢谢你,

Rob

好吧,我是这么想的。在include中,只要有表单,我就把它包装在div标签中,其中还包括动作和方法的数据属性,如下所示:

<div id="wrap_form1" class="formwrap" data-action="/myscript.php" data-method="POST">
<form action="/myscript.php" medhod="POST">
... form stuff...
</form>
</div>

在全局页面脚本中添加一些内容,以便在表单被浏览器删除时恢复该表单。

  $('div.formwrap').each(function() {
    if (!($(this).find('form').length) {
      var formtag='<form class="nestedform" action="'+$(this).attr('data-action')+'" method='+$(this).attr('data-method')+'>';
      $(this).html(formtag+$(this).html()+'</form>');
    }
  })

然后我们还需要把它移到主表单之外

  $('form.nestedform').each(function() {
    $('body').append($(this));
  });

任何想法吗?