2010-05-19 57 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