2012-03-04 70 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> 

不幸的是,當我做這樣的瀏覽器刪除的結束x = 2 & Y = 5,只是追加表單域的參數。我不只是使用<input type="hidden" name="x" value="2">的原因是因爲像我說的字符串已經在這種形式,我需要專門解碼它。將值添加到動作url的末尾更簡單。任何建議將不勝感激。請注意我在這裏發現了一個非常類似的線程adding URL parameters to a form PHP HTML,但沒有任何解決方案解決我的基本問題。我也嘗試了在最後追加'&'的提示,但它也不起作用!有可能做我想做的事嗎?

+0

如果您讓我們知道您使用哪種語言來呈現網頁,我們可能會提供一個函數來幫助您執行所需的URL解析。 – imm 2012-03-04 20:59:22

+0

我在python 2.7上使用python django 1.3。 – 2012-03-04 21:03:41

+0

查看urlparse模塊中的parse_qs函數:http://docs.python.org/library/urlparse.html#urlparse.parse_qs – imm 2012-03-04 21:07:44

回答

4

應該爲額外的參數使用隱藏的表單元素如你所描述:

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

這保證了使用時GET,而不是越來越刪除參數將正確地出現在URL。

我不完全明白你的觀點,因爲如果你可以將它們附加到表單動作上,你應該可以簡單地將它改爲hidden表單元素。

+0

它不適合我(Django 1.8)。我必須使用'name',而不是'id'來使它工作:' 2017-02-26 09:18:53