2010-05-19 25 views
0

我正在學習Web開發,而且我不知道如何做這個簡單的事情。Html POST並返回與值相同的表格

我有一個帶有「text」,「radio」和「checkbox」控件的html表單,它將這些值發佈到服務器並將其保存在文件中。我保存POST RAW格式:

key=value&key=value&key=value&key=value 

,我想,當用戶打開窗體回,返回的形式與保存的值已經在控制。

有沒有什麼乾淨的方法可以做到這一點?還是應該解析POST字符串並在服務器級別的控件中逐個設置值?我想,我可以返回保存的數據在一個隱藏的輸入控件,並在一個JavaScript後,我可以做一個getElementById(鍵),並將值設置爲每個輸入控件...但我需要把以特殊格式發佈字符串?

你會怎麼做?

預先感謝您。

+1

無需將數據存儲在隱藏的輸入字段中。按照ThiefMaster的建議,直接將數據放入輸入字段。永遠不要依賴JS,它可以被客戶端禁用。讓您的網站在沒有JS的情況下運行,並用於改善用戶體驗。 – 2010-05-19 23:40:28

回答

3

您應該存儲POST字段(最好不要使用查詢字符串樣式,您的編程語言可能有一些更好的序列化函數),然後通過設置value="..."屬性(或標記內容,例如textareas)來填寫表單字段。

+0

Humm ...文本框很容易,但對於複選框和收音機,我必須添加一個屬性來說明選擇了哪一個屬性,並確保沒有其他屬性。出於這個原因,我正在尋找更多...直接把價值迴歸。但它似乎是最好的選擇......謝謝! – vtortola 2010-05-20 00:02:39

+1

最簡潔的方法是使用一個小型庫來生成您的表單並自動設置您提供的默認值。然後,實際的HTML將會透明地生成。 – ThiefMaster 2010-05-20 05:25:57

1

您使用哪種服務器端語言? 如果php:
< ?php $myvar = $_POST['myvar'] ?>

<input type="text" value="<?php echo $myvar; ?>" />

+0

C#.NET。 這段代碼不適合我,但你給了我一個關於我能做什麼的想法。 你會怎麼做複選框和收音機? – vtortola 2010-05-20 00:00:55

+2

[小心XSS](http://php.net/manual/en/function.htmlspecialchars.php)。 – BalusC 2010-05-20 01:18:09

+0

BalusC是正確的!我的代碼片段只是爲了讓你有一個想法,不應以任何方式像這樣使用。
至於複選框,您只需檢查POST變量是否有任何值...以某種方式。我已經在2003年左右離開了C#.net世界,但是,ASP.NET還是提供開箱即用的數據綁定支持嗎?我不認爲你甚至需要看看POST vars的ASP.net摘要,如果我記得... – redben 2010-05-21 00:07:04