私のプロジェクトでは、djangoインラインフォームセットを使用しています。jqueryでフォームセットのクローンを作成しましたが、残念ながら、クローンされたフォームの名前とIDは同じであるため、最後のフォームに入力したデータが最初のフォームのデータを上書きします。何が間違っているのでしょうか?
スクリプトは次のとおりです。
<script type="text/javascript">>
function cloneMore(selector, type) {
var newElement = $(selector).clone(true);
var total = $('#id_' + type + '-TOTAL_FORMS').val();
newElement.find(':input').each(function() {
var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
var id = 'id_' + name;
$(this).attr({'name': name, 'id': id}).val('').removeAttr('checked');
});
newElement.find('label').each(function() {
var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
$(this).attr('for', newFor);
});
total++;
$('#id_' + type + '-TOTAL_FORMS').val(total);
$(selector).after(newElement);
}
</script>