約 1 年前、クローンを使用してフォームを複製するスクリプトを (StackOverflow の助けを借りて) 作成しました。スクリプトは必要なことを行いますが、しばらく使用した後、異なるべきことがいくつか見つかりました。問題は、javascript と jQuery の両方の知識が非常に限られているため、難しすぎるように思われることです。
スクリプト:
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$('.startdatum').removeClass('hasDatepicker').datepicker({
dateFormat: 'dd-mm-yy',
constrainInput: false
});
$("input[type='button'].AddRow").live('click',
function() {
var index = $(this).closest('div').index();
if (index > 0) {
$(this).closest('div').remove();
} else {
var $tr = $(this).closest('div').clone(true);
$tr.find('input.AddRow').val("Delete");
var $input = $tr.find('input.startdatum');
var index = $('input#counter').val();
var id = 'datepicker' + index;
index++;
$('input#counter').val(index);
$input.attr('id', id).data('index', index);
//console.log(index);
$(this).closest('span').append($tr);
$('.startdatum').each(function() {
$(this).datepicker('destroy');
$(this).datepicker({
dateFormat: 'dd-mm-yy',
constrainInput: false
});
});
}
});
});//]]>
</script>
質問
スクリプトは、入力されたすべてのフィールドを含むフォームを複製するようになりました。http://api.jquery.com/clone/を読みましたが、空のフィールドをコピーする方法がわかりません。
初期フォームには、別のフォームを追加するためのフォーム ボタンがあります。複製された各フォームには、特定のフォームを削除するためのボタンがあります。私は両方をすべてのフォームに入れたいと思っています(最初のフォームの削除を除いて、そのままにしておく必要があります)。
最も重要なのは、スクリプトを使用して、すべてのフィールドが入力され有効かどうかを確認することです。すべてのフィールドが入力されるまで、クローン ボタンは表示されません。
$(document).ready(function() {
// など// Wanneer het formulier verstuurd wordt $("#theform").submit(function(){ isValid = true; // Valideer Aanhef var aanhef = $('input[name=aanhef]:checked').val(); if(aanhef != 'v' && aanhef != 'm') { isValid = false; $('#msg_aanhef').html('Vul uw aanhef in.').show(); $('#aanhef').addClass("fout"); } else { $('#msg_aanhef').html('').hide(); }