javascript - 验证后的 jQuery 动态字段消失

标签 javascript php jquery html

我的 jQuery 和验证有问题。

这是我的代码:

var fielddd = 1;
$(document).on('click', '.btn.add-field', function() {
  fielddd++;
  $('#newfield').append('<textarea class="from-control" name="somename[]" id="field_' + field + '"></textarea>' + '<button class="btn add-field">add</button>' + '<textarea class="from-control" name="somename2[]" id="field_' + field + '"></textarea>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
  <textarea class="from-control"  name="somename[]" id="field"></textarea>
  <button class="btn add-field">add</button>
  <textarea class="from-control" name="somename2[]" id="field"></textarea>
</div>
<div class="row" id="newfield">
  <!-- new textarea -->
</div>

问题是我有一个验证,并且有一个提交按钮,在检查一个字段是否为空后,代码生成并重定向,在此重定向到同一页面之后,以便用户可以在 中给出他的参数文本区域。但在此重定向之后,用户添加的字段将消失

如何修复它?

最佳答案

您在每个文本区域中使用相同的 ID。 ID 必须是唯一的。您错误地使用了“field”,必须将其替换为正在递增的“fielddd”。

var fielddd = 1;
$(document).on('click', '.btn.add-field', function() {
  fielddd++;
  $('#newfield').append('<textarea class="from-control" id="field_' + fielddd + '"></textarea>' + '<button class="btn add-field">add</button>' + '<textarea class="from-control" id="field_' + fielddd + '"></textarea>');
});

关于javascript - 验证后的 jQuery 动态字段消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049276/

相关文章:

javascript - str.split(someString).join(someOtherString) 是否等同于替换?

javascript - jquery 动画效果有问题

php - 使用 Doctrine querybuilder 正确转义 LIKE 查询

php - 如何将多个mysql查询组合成一个查询

javascript - 如何使用 jquery 模拟平滑滚动?

jquery - $compile(html)(scope) 忽略我手动创建的范围

javascript - AJAX 微游戏

javascript - gulp chalk,通过方法传递字符串模板

php - htaccess - mod_rewrite 将虚拟目录或文件作为参数传递回 index.php?

javascript - 事件未使用 Firefox 定义