{% for form in formset.forms %}
<div class="elements">
{{form.as_ul}}
</div>
<input type="image" value="ADD" id="add_more">
{% endfor %}
voici ce que j'ai dans jsajoutant des formes de formset sur la mouche de côté serveur
$('#add_more').click(function(){
if($('.app-form').valid()){
cloneMore('div.ul:last','prefix');
}
});
et le reste est identique à la référence this reference J'essaie d'afficher des formulaires lorsque l'utilisateur passe pour " ADD ".when add est pressé, il va à la vue ainsi que d'imprimer un autre formulaire en utilisant jquery. dans les vues.
def start(request):
qd = request.POST
ffact = formset_factory(ModelForm,extra=int(qd['prefix-TOTAL_FORMS']))
fset = ffact(qd,prefix='prefix')
if fset.is_valid():
return render_to_response('test.html',{'formset':fset})
else:
return render_to_response('test.html',{'formset':fset})
Mais jquery se traduit par une forme supplémentaire, même si le formulaire soumis n'est pas valide, alors que vue se traduit par les messages d'erreur pour tous les champs de formulaire qui ne sont pas valides. Comment puis-je faire une action de clic en attente ou en quelque sorte communiquer avec le résultat de validation views.py et seulement ensuite afficher un formulaire supplémentaire? Appréciez-le.
Avez-vous du code (HTML, JS) pour commencer? – mattsven
j'ai fait mettre à jour la question avec cette info. Merci pour votre temps. – stackover