【问题标题】:Html POST and return the same form with the valuesHtml POST 并返回与值相同的表单
【发布时间】:2010-05-20 07:38:02
【问题描述】:

我正在学习网络开发,我不知道这个简单的事情是怎么做的。

我有一个带有“text”、“radio”和“checkbox”控件的 html 表单,它将值发布到服务器并将它们保存在例如文件中。我以原始格式保存 POST:

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

我希望当用户重新打开表单时,返回带有控件中已保存值的表单。

有什么巧妙的方法可以做到这一点吗?还是我应该解析POST字符串并在服务器级别的控件中一一设置值?

我认为,我可以在隐藏的输入控件中返回保存的数据,然后使用 javascript 执行 getElementById(key) 并将值设置为每个输入控件...但是我需要发布帖子吗特殊格式的字符串?

你会怎么做?

提前谢谢你。

【问题讨论】:

  • 无需将数据存储在隐藏的输入字段中。只需按照 ThiefMaster 的建议将数据直接放在输入字段中即可。永远不要依赖 JS,它可能会被客户端禁用。让您的网站在没有 JS 的情况下运行并用于改善用户体验。

标签: javascript html post


【解决方案1】:

您应该存储 POST 字段(最好不要以查询字符串样式,您的编程语言可能有一些更适合的序列化函数),然后通过设置 value="..." 属性(或标记内容,例如用于 textareas)来填充表单字段.

【讨论】:

  • 嗯...对于文本框很容易,但对于复选框和收音机,我必须添加一个属性来说明选择了哪个,并确保没有其他的。出于这个原因,我一直在寻找更简单的东西......直接将值放回原处。但它似乎是最好的选择......谢谢!
  • 最简洁的方法是使用一个小型库来生成您的表单并自动设置您提供的默认值。然后将透明地生成其背后的实际html。
【解决方案2】:

您使用什么服务器端语言? 如果是 php :
< ?php $myvar = $_POST['myvar'] ?>

【讨论】:

  • C# .NET。那个代码不适合我,但你让我知道我能做什么。对于复选框和收音机,你会怎么做?
  • BalusC 是对的!我的代码 sn-p 仅供您参考,不应该以任何方式这样使用。
    至于复选框,您只需要检查 POST 变量是否有任何值...以某种方式。我在 2003 年左右离开了 C#.net 世界,但是,是我还是 ASP.NET 提供了对数据绑定的开箱即用支持?如果我记得的话,我认为您甚至不需要查看 POST vars ASP.net 的摘要...
猜你喜欢
  • 2018-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
相关资源
最近更新 更多