python - django submit two different forms with one submit button -
is possible submit 2 different forms, 1 submit button in django? have 1 form called "instrument" , 4 equal forms "config". i'd submit 1 config , instrument. e.g. instrument + config 1, , instrument + config 2. , every config have own submit button.
i have tried 1 button in config form:
<input onclick="submitforms()" class="btn btn-primary cfg" type="submit" value="start" >
and call js function 'onclick':
submitforms = function(){ console.log('ok'); //only testing document.forms["firstform"].submit(); document.forms["secondform"].submit(); }
this method in views.py:
if request.method == 'post': form1 = dataproviderinstrumentform(request.post) form2 = dynamictimeseriesform(request.post) print(request.post) if form1.is_valid() or form2.is_valid(): # stuff else: form1 = dataproviderinstrumentform() # unbound form form2 = dynamictimeseriesform() # unbound form
instead of having multiple <form ..>
tags in html, use 1 <form>
tag , add fields of forms under it.
example in template
<form > {{ form1.as_p }} {{ form2.as_p }} {{ form3.as_p }} </form>
so when user submits form forms data in view, can doing in view. as
if request.method == 'post': form1 = form1(request.post) form2 = form2(request.post) print(request.post) if form1.is_valid() or form2.is_valid():
its better use form prefix
in such cases.
so can do
if request.method == 'post': form1 = form1( request.post,prefix="form1") form2 = form2( request.post,prefix="form2") print(request.post) if form1.is_valid() or form2.is_valid(): else: form1 = form1(prefix="form1") form2 = form2(prefix="form2")
Comments
Post a Comment