如何停止在JavaScript中无限克隆表单字段
How can I stop infinite cloning of a form field within JavaScript?
我更像是一个HTML/CSS的人,所以JavaScript对我来说还是很新的。我将感谢您的帮助!
我在JSfiddle上发现了一个几乎完全满足我需求的JavaScript片段。我正在寻找一种方法来克隆一个点击按钮的表单字段。问题来了。每次单击按钮时,此代码都会无限添加一个新字段。我真的需要限制为2个新字段(所以总共有3个字段)。然后我希望这个按钮在最后一个字段被克隆后消失,这样用户就不会试图反复点击它。这是链接:JS Fiddle链接
以下是JavaScript:document.getElementById('button').onclick=重复;
var i = 0;
var original = document.getElementById('duplicater');
function duplicate() {
var clone = original.cloneNode(true);
clone.id = "duplicetor" + ++i;
original.parentNode.appendChild(clone);
}
谢谢!
您已经在跟踪重复的数量,所以添加
if (i === 2) {
document.getElementById('button').disabled = true;
}
到您的duplicate()
功能,在点击2次后禁用该按钮
JSfiddle
还要注意拼写!你有onlick="duplicate()"
而不是onclick=duplicate()
,除了复印机的各种拼写错误
添加一个计数器。它将检查已经创建的字段的数量是否<2,然后如果它是>或=则不再运行
var i = 0;
var original = document.getElementById('duplicater');
var count = 0;
function duplicate() {
if(count<2) {
var clone = original.cloneNode(true);
clone.id = "duplicetor" + ++i;
original.parentNode.appendChild(clone);
}
count++;
}
只需将if条件替换为此if (i >= 2) {
,这里我们将检查i是否大于或等于2,从而隐藏按钮。
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 验证PDF表单中的字段
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 在表单中的输入字段上提交事件
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- 表单输入字段随着溢出的文本而增长
- 如何将onChange方法添加到ExtJS 4表单中的所有字段(textField)中
- 尝试使用名称访问表中字段的日期选取器时出现问题
- Javascript 表单 - 字段不是必需的
- 单击按钮时更改数据库表的字段值
- 数据表将字段值关联到按钮,而 ajax 填充表
- 返回数据表输入字段
- 更改附加表行字段jQuery的名称
- Angularjs表单/字段验证使用JavaScript函数,无需指令
- 仅在Firefox中,表脱离字段集边界
- 如何在表单提交后使用JQuery从附加到HTML表的字段中获取$_POST数组中的值
- 什么's提交表单后,从post数组中动态附加的表行字段中获取值的问题