Skip to content

Instantly share code, notes, and snippets.

@jgram925
Last active July 18, 2019 18:40
Show Gist options
  • Save jgram925/b20a19ee3cc830c1ebdab5cc8f0e7e8f to your computer and use it in GitHub Desktop.
Save jgram925/b20a19ee3cc830c1ebdab5cc8f0e7e8f to your computer and use it in GitHub Desktop.
Django Dynamically Add Formset Forms.html
<form method='POST'>
{% csrf_token %}
{{ ssformset.management_form }}
{{ ssformset.non_form_errors }}
<div id="form-list">
{% for form in ssformset %}
<div id="form-set">
{% for field in form %}
<div class="form-group">
<div class="row">
<label class="col-sm-4 col-md-2 control-label" for="{{ field.id_for_label }}">{{ field.label }}</label>
<div class="col-sm-8 col-md-8 col-lg-6">
{{ field }}
</div>
</div>
</div>
{% endfor %}
</div>
{% endfor %}
</div>
<div id="empty_form" style="display:none">
<div id="form-set">
{% for field in ssformset.empty_form %}
<div class="form-group">
<div class="row">
<label class="col-sm-4 col-md-2 control-label" for="{{ field.id_for_label }}">{{ field.label }}</label>
<div class="col-sm-8 col-md-8 col-lg-6">
{{ field }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<br/><br/>
<input id="add_more" class="btn btn-success" type="button" value="Add More Parts" >
<input class="btn btn-primary" type="submit" value="Submit"/>
</form>
<script>
var form_count = '{{ ssformset.total_form_count }}'
$('#add_more').on('click', function() {
form_count++;
var form_idx = $('#id_form-TOTAL_FORMS').val();
$('#form-list').append($('#empty_form').html().replace(/__prefix__/g, form_idx));
$('#id_form-TOTAL_FORMS').val(parseInt(form_idx) + 1);
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment