Tworzę właśnie dynamiczny formularz w którym dodaje treść odpowiedzi i zdjęcie, chcę aby można było go powielać i dodawać do każdej odpowiedzi zdjęcie, nie mam pomysłu na powielanie pola simage aby upload dotyczył tego pola

formularz
  1. <form action="" method="post">
  2. <div class="clone" id="Answer-1">
  3. <label for="sAnswer-1">Treść odpowiedzi<span></span></label>
  4. <input type="text" name="sAnswer-1" id="sAnswer-1" value=""/>
  5.  
  6. <label for="sImage-1">Wybierz zdjęcie<span></span></label>
  7. <input type="file" name="sImage-1" id="sImage-1" id="sImage-1" class="sImage"/>
  8. </div>
  9.  
  10. <div>
  11. <input type="button" name="AnswerAdd" value="Dodaj kolejne" id="AnswerAdd"/>
  12. </div>
  13.  
  14. <div>
  15. <input type="button" name="AnswerDel" value="Usuń ostatnie" id="AnswerDel"/>
  16. </div>
  17.  
  18. <div><input type="submit" name="bAddAnswer" value="Wyślij"/></div>
  19. </form>


kod odpowiadający za powielanie pól

  1. $('#AnswerAdd').click(function() {
  2. var num = $('.clone').length; // ile pól jest
  3. var newNum = new Number(num + 1); // id nowego pola
  4. var newElem = $('#Answer-' + num).clone().attr('id', 'Answer-' + newNum);// tworzenie nowego pola
  5. newElem.children(':first').attr('for', 'sAnswer-' + newNum)
  6. newElem.children(':eq(1)').attr('id', 'sAnswer-' + newNum).attr('name', 'sAnswer-' + newNum).attr('value', '');
  7. newElem.children(':eq(2)').attr('for', 'sImage-' + newNum)
  8. newElem.children(':eq(3)').attr('id', 'sImage-' + newNum).attr('name', 'sImage-' + newNum);
  9. $('#Answer-' + num).after(newElem);
  10. $('#AnswerDel').attr('disabled','');
  11. });


Uploadify

  1. $(".sImage").uploadify{
  2. 'uploader' : 'js/uploadify.swf',
  3. 'cancelImg' : 'js/cancel.png',
  4. 'script' : '/_class/moduly/uploads.php',
  5. 'auto' : true,
  6. 'height' : '32',
  7. 'width' : '250',
  8. 'folder' : 'files',
  9. 'fileDataName': questionmark.gif?, // tutaj musi być dane id nowo utworzonego pola
  10. 'onComplete' :
  11. function(event, ID, fileObj, response, data) {
  12. alert(response);
  13. }
  14. });


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.