Muffinss Skrevet 20. april 2014 Del Skrevet 20. april 2014 Hei! Bygger for tiden en app i django som tar i mot flere filer. For å få et dynamisk filopplastningsfelt med flere rader, har jeg stjålet kode herfra: http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax Javascript koden ser slik ut: 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); } Template koden: <form action="" method="post" enctype="multipart/form-data"> {{ formsetFile.management_form }} {% for form in formsetFile.forms %} <div class='table'> <table class='no_error'> {% csrf_token %} {{ formsetFile.as_p }} </table> </div> {% endfor %} <input type="button" value="Add More" id="add_more"> {% csrf_token %} {{ formURL.as_p }} <p><input type="submit" value="Upload" /></p> <script> var maxRows = 10; var i = 1; $('#add_more').click(function() { if(i < maxRows) { cloneMore('div.table:last', 'service' + i++); } else { alert('You can only upload 10 files per instance') } }) Det jeg trenger her, er også en knapp til å slette radene. Problemet er at jeg er latterlig dårlig i Javascript og finner derfor ingen løsning på problemet. All hjelp ville blitt satt pris på. Lenke til kommentar
Muffinss Skrevet 21. april 2014 Forfatter Del Skrevet 21. april 2014 Bumpity bumb bumb. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå