3

さて、このコードスニペットがあります-

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

hrefとjavascriptを使用してフォームをdjangoサーバーに送信しています。サーバー上で、次のコードを使用してPOSTリクエストを確認します-

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

これはfalseを返します。なぜ何かアイデア?

4

3 に答える 3

3

これが私の問題を解決するために使用した解決策です-(フォスコとアダムに感謝します!)

    <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>`
于 2011-05-25T01:55:11.993 に答える
1

「hrefを使用する」とは、プログラムでリンクをクリックすることを意味すると思いますか?リンクは常にGETリクエストを送信するため、失敗します。を使用してJSでフォーム全体document.forms.myform.submit();を送信できます。これは、フォームで指定した方法であるため、POSTで送信されます。

于 2011-05-24T16:01:20.163 に答える
0

このフォームに入力フィールドはありますか?フォームの名前ではなく、それを確認する必要があります。フォーム自体は何もないので、どのようなデータが投稿されていますか?つまり、someDataという名前のテキスト入力フィールド。if 'someData' in request.POST:

于 2011-05-24T18:01:45.417 に答える