formularz
<form action="" method="post"> <div class="clone" id="Answer-1"> <input type="text" name="sAnswer-1" id="sAnswer-1" value=""/> <input type="file" name="sImage-1" id="sImage-1" id="sImage-1" class="sImage"/> </div> <div> <input type="button" name="AnswerAdd" value="Dodaj kolejne" id="AnswerAdd"/> </div> <div> <input type="button" name="AnswerDel" value="Usuń ostatnie" id="AnswerDel"/> </div> </form>
kod odpowiadający za powielanie pól
$('#AnswerAdd').click(function() { var num = $('.clone').length; // ile pól jest var newNum = new Number(num + 1); // id nowego pola var newElem = $('#Answer-' + num).clone().attr('id', 'Answer-' + newNum);// tworzenie nowego pola newElem.children(':first').attr('for', 'sAnswer-' + newNum) newElem.children(':eq(1)').attr('id', 'sAnswer-' + newNum).attr('name', 'sAnswer-' + newNum).attr('value', ''); newElem.children(':eq(2)').attr('for', 'sImage-' + newNum) newElem.children(':eq(3)').attr('id', 'sImage-' + newNum).attr('name', 'sImage-' + newNum); $('#Answer-' + num).after(newElem); $('#AnswerDel').attr('disabled',''); });
Uploadify
$(".sImage").uploadify{ 'uploader' : 'js/uploadify.swf', 'cancelImg' : 'js/cancel.png', 'script' : '/_class/moduly/uploads.php', 'auto' : true, 'height' : '32', 'width' : '250', 'folder' : 'files', 'fileDataName':?, // tutaj musi być dane id nowo utworzonego pola
'onComplete' : function(event, ID, fileObj, response, data) { alert(response); } });
Do usunięcia dla ludzi którzy mają podobny problem stwórzcie ukryty formularz i to jego klonujcie i inicjujcie uploadify po skopiowaniu. Nie jest to najwydajnieszje, ale na tę chwilę nie widzę innego rozwiązania.