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

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -