javascript - 在不显示模式下克隆一个 div

标签 javascript jquery html css

单击时有一个 NEWFORM 按钮可以添加表单。单击 NEWFORM 按钮时如何显示表单。然后添加div。我写了下面的代码。但它不起作用:

$(document).ready(function() {
  $(".newform").click(function() {
    $(".MyForm")
    .eq(0)
    .clone()
    .show()
    .insertAfter(".MyForm:last");
  });

  $(document).on('click', '.MyForm button[type=submit]', function(e) {
    e.preventDefault() // To make sure the form is not submitted 
    var $frm = $(this).closest('.MyForm');
    console.log($frm.serialize());
    $.ajax(
        $frm.attr('action'), 
        {
          method: $frm.attr('method'),
          data: $frm.serialize()
        }
    );
  });
});
.all{display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<span class="newform">NEWFORM+</span>
<div class="all">
  <form class="MyForm" method="post">
    <input type="text" placeholder="name" value="Aynaz" name="a1" />
    <select name="Avg">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
    <button type="submit">Submit</button>
  </form>
</div>

最佳答案

问题是你的CSS。您正在使整个包装器 div 不可见。因此,即使您调用 .show(),它也会隐藏其中的所有内容。

$(document).ready(function() {
  $(".newform").click(function() {
    $(".MyForm")
    .eq(0)
    .clone()
    .insertAfter(".MyForm:last")
    .show();
  });

  $(document).on('click', '.MyForm button[type=submit]', function(e) {
    e.preventDefault() // To make sure the form is not submitted 
    var $frm = $(this).closest('.MyForm');
    console.log($frm.serialize());
    $.ajax(
        $frm.attr('action'), 
        {
          method: $frm.attr('method'),
          data: $frm.serialize()
        }
    );
  });
});
.all{display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<span class="newform">NEWFORM+</span>
<div>
  <form class="MyForm all" method="post">
    <input type="text" placeholder="name" value="Aynaz" name="a1" />
    <select name="Avg">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
    <button type="submit">Submit</button>
  </form>
</div>

关于javascript - 在不显示模式下克隆一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415776/

相关文章:

javascript - Three.js 相机位置被 if else 语句捕获

javascript - 如何在 Material ui 表单输入字段中添加验证

javascript - 过滤 AngularJs UI 网格中的对象数组

javascript - 滚动到下一部分

html - Bootstrap <li> 不响应 css?

javascript - 如何从 ThreeJS 的场景中导出图像

c# - default.aspx 位于子文件夹中,将其用作 www.mysite.com 上的起始页

javascript - 使用 Javascript 正则表达式获取元元素属性

jquery 对类型为 "div"的 'Button' 标签进行验证

javascript - 如何生成完全不包含任何空格甚至在字符串开头或结尾处不包含空格的正则表达式