javascript - 尝试修复嵌套表单

标签 javascript jquery html forms dom

我正在尝试为我的客户的问题编写一个修复程序 - 他的主表单相当大并且跨越许多选项卡,其中包含包含模态表单的内容(因此,如果您有与您的个人资料相关的小部件列表,弹出表单可以让您添加另一个)。模式不起作用,因为它们在表单中创建了一个表单,所以我想我可以将它们推到页面末尾,如下所示:

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

但这不起作用,因为浏览器似乎在 document.ready 触发之前从 DOM 中剥离了第二个表单标签。我创建了一个jsFiddle here :

感谢任何帮助。 谢谢,

最佳答案

好吧,这就是我的想法。在包含内容中,只要有表单,我都会将其包装在 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));
  });

有什么想法吗?

关于javascript - 尝试修复嵌套表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616591/

相关文章:

javascript - If 和 switch 语句结果显示不正确

javascript - 在 promise 中控制 this 的值

javascript - 如何根据子元素值对父元素进行排序?

javascript - 在jquery中隐藏第三个子div

javascript - 在鼠标悬停和离开时动画 div

javascript - 使用 jquery 加载动画以显示在特定的 div 中

javascript - 在页面加载时将本地存储变量绑定(bind)到元素

jquery - 如何使用 jQuery UI 设置按钮的颜色?

javascript - 使用在组件类中找到的变量修改伪元素属性值的 Angular/Mobile 友好方式是什么?

javascript - 如何在 TypeScript 中导出多个对象实例?