Muffinss Skrevet 20. april 2014 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å.
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å