2012-03-04 20 views
0

ここに私の状況があります。フォームがあるページがあります。フォームは単なるクエリなので、私は "GET"メソッドを使用しています。私はトークンとして渡している変数を持っています、変数は "x = 2 & y = 5"という形式の変数です。変数は私のページにエンコードされたURLとして渡されるので、それを解析するだけです{'x':2、 'y':5}の辞書。どのような理想的であることは、次のようなものです:GETと余分な引数を含むHTMLフォームの提出

<form method="GET" action="/path/to/action/?x=2&y=5"> 
    <input type="text" name="some_other_val"> 
    ... more inputs here etc. 
</form> 

は、私はそれを行うとき、残念ながら、この方法は、ブラウザは= 5エンディングx = 2の&のyを消去し、ちょうど引数としてフォームフィールドを追加します。理由は私がただ<input type="hidden" name="x" value="2">を使用していない理由は、私は文字列がすでにその形式であると言っているので、私はそれを具体的に解読する必要があるからです。アクションURLの最後に値を追加する方が簡単です。どんな提案も大歓迎です。私はこの点について非常に似たスレッドを見つけたことに注意してくださいadding URL parameters to a form PHP HTMLしかし、提示された解決策のどれもが私の基本的な問題を解決しません。私はまた、最後に '&'を追加するヒントを試みたが、どちらもうまくいきませんでした!私がしたいことをすることは可能ですか?

+0

ページのレンダリングに使用している言語がわかっている場合は、必要なURL解析を行うための機能を提案することができます。 – imm

+0

私はPython 2.7でPython django 1.3を使用しています。 –

+0

urlparseモジュールのparse_qs関数をチェックしてください:http://docs.python.org/library/urlparse.html#urlparse.parse_qs – imm

答えて

4

あなたあなたが説明したように、余分なパラメータのための隠されたフォーム要素を使用する必要があります。

<input type="hidden" id="x" value="2" /> 
<input type="hidden" id="y" value="5" /> 

をこれがGETを使用しての代わりに、削除取得する際のパラメータはURLで正しく表示されることを保証します。

あなたはそれらをフォームアクションに追加できるかのように、フォーム要素を簡単にhiddenフォーム要素に簡単に変更できるように、私はそれらに対してあなたの議論を得ていません。

+0

それは私のために働かなかった(Django 1.8)。私はそれを動作させるために 'id'ではなく' name'を使う必要がありました: '' –

関連する問題