最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

python - submitting a django form using javascript - Stack Overflow

programmeradmin0浏览0评论

ok so have this snippet of code -

    <form id="myform" name="myform" action="." method="post">
        <a href="javascript: document.forms['myform'].submit();" name="myform">Submit
        </a>
    </form>    

i am submitting a form using an href and some javascript to my django server. on the server i check the post request using the following code -

    if 'myform' in request.POST:
        '''handle the form submition'''
        return True
    return False

this returns false. any ideas why?

ok so have this snippet of code -

    <form id="myform" name="myform" action="." method="post">
        <a href="javascript: document.forms['myform'].submit();" name="myform">Submit
        </a>
    </form>    

i am submitting a form using an href and some javascript to my django server. on the server i check the post request using the following code -

    if 'myform' in request.POST:
        '''handle the form submition'''
        return True
    return False

this returns false. any ideas why?

Share Improve this question asked May 24, 2011 at 15:58 ZiGiUsZiGiUs 4041 gold badge5 silver badges15 bronze badges 5
  • 1 are there any input fields in this form? You should be checking for that rather than the name of the form. – Fosco Commented May 24, 2011 at 16:00
  • what do you mean by checking for input fields in the form? can you please add an example? – ZiGiUs Commented May 24, 2011 at 17:35
  • like, actual data being submitted... The form itself is nothing, so what data is being posted? i.e. a text input field named someData. if 'someData' in request.POST: – Fosco Commented May 24, 2011 at 17:39
  • OMG! thank you very much! adding an input field to the form did the trick! – ZiGiUs Commented May 24, 2011 at 17:59
  • I moved my ments to an answer so you can accept it. – Fosco Commented May 24, 2011 at 18:01
Add a ment  | 

3 Answers 3

Reset to default 3

here is the solution i used to solve my problem - (thank you very much fosco and adam!)

    <form id="my_form" action="." method="post">
        <a href="#" onclick="document.forms['my_form'].submit();">Call Form</a>
        <input type="checkbox" name="call_form" checked style="visibility:hidden"><br>
        <input type="submit" value="create form" style="visibility:hidden" />
    </form>`

I assume "using an href" means you click a link programatically? Links always send GET requests so that's why it fails. You can submit the entire form with JS using document.forms.myform.submit(); and that will send it with POST since that's the method you specified in the form.

Are there any input fields in this form? You should be checking for that rather than the name of the form. The form itself is nothing, so what data is being posted? i.e. a text input field named someData. if 'someData' in request.POST:

发布评论

评论列表(0)

  1. 暂无评论