克隆表单内容、更改属性、附加到 jQuery 或普通 JS 中的表单
Clone form contents, change attribute, append to form in jQuery or vanilla JS
我正在努力实现上述目标 - 我已尽我所能,但代码根本无法执行。
$('.container').on('click', 'form', function() {
var clone = $('form').clone();
clone.find('input').attr('name', 'pick0' + length);
$('form').appendChild(clone);
});
html + codepen 上的 js 例子
https://codepen.io/anon/pen/KQrEMd
编辑:
正在尝试根据对表单的点击来复制表单。 1 次点击 = 1 个额外表格。
尝试
$('.container').on('click', 'form', function() {
if(typeof($('form').data('length')=='undefined')){
var $length = 1;
}else{
var $length = parseInt($('form').data('length'));
}
var clone = $('form').clone();
clone.find('input').attr('name', 'pick0' + $length);
$('form').append(clone.html());
$('form').data('length',$length+1);
});
});
如果我正确理解你的问题,也许这会有所帮助
$('.container').on('submit', 'form', function(e) {
e.preventDefault();
console.log(e.target.pick0.value);
var input = e.target.pick0.cloneNode(true);
document.getElementsByClassName('container')[0].appendChild(input);
});
尝试使用此代码:
$('.container').on('click', 'form', function() {
var clone = $('form:last').clone();
length = $('form').length;
clone.find('input').attr('name', 'pick' + length);
$('.container').append(clone);
});
我正在努力实现上述目标 - 我已尽我所能,但代码根本无法执行。
$('.container').on('click', 'form', function() {
var clone = $('form').clone();
clone.find('input').attr('name', 'pick0' + length);
$('form').appendChild(clone);
});
html + codepen 上的 js 例子 https://codepen.io/anon/pen/KQrEMd
编辑:
正在尝试根据对表单的点击来复制表单。 1 次点击 = 1 个额外表格。
尝试
$('.container').on('click', 'form', function() {
if(typeof($('form').data('length')=='undefined')){
var $length = 1;
}else{
var $length = parseInt($('form').data('length'));
}
var clone = $('form').clone();
clone.find('input').attr('name', 'pick0' + $length);
$('form').append(clone.html());
$('form').data('length',$length+1);
});
});
如果我正确理解你的问题,也许这会有所帮助
$('.container').on('submit', 'form', function(e) {
e.preventDefault();
console.log(e.target.pick0.value);
var input = e.target.pick0.cloneNode(true);
document.getElementsByClassName('container')[0].appendChild(input);
});
尝试使用此代码:
$('.container').on('click', 'form', function() {
var clone = $('form:last').clone();
length = $('form').length;
clone.find('input').attr('name', 'pick' + length);
$('.container').append(clone);
});