我想知道是否可以为HTML文本框分配值并保护它。
我的意思是使其内容不可修改,以便在提交表单时“确定”是提交的此值。
顺便说一下,我意识到更简单的方法就是不要“听”这个输入并只是分配它,但是能够做到如上所述的事情会派上用场。
我希望问题很清楚,请提出任何必要的澄清。
提前致谢!
编辑:我当然不够清楚,但我试图表示我应该在提交后保留该值(在客户端不可修改)答案 0 :(得分:7)
不,不是。您永远不应该信任用户输入,包括表单提交。
其他答案告诉您如何将该字段标记为只读。如果要显示特定值,同时显示无意进行编辑,则此功能非常有用。
但是,它仍然可以使用Firebug,DOM Inspector等进行修改。或者,他们只需提交HTTP请求而无需使用浏览器。
我建议将值存储在会话中。
答案 1 :(得分:4)
设置输入元素的readonly
属性:
<input type="text" readonly="readonly" />
这将阻止任何修改(除非用户使用DOM Inspector进行编辑)。始终验证服务器上的输入。如果您不想进行任何更改,请不要让用户对其进行编辑。
答案 2 :(得分:3)
就这样做
<input type="text" value="VALUE" readonly />
然后它只读:)
答案 3 :(得分:3)
<input type="text" readonly="readonly"/>
。但是:永远不确定,并在服务器端验证数据。使用无效数据请求GET / POST非常容易。
答案 4 :(得分:2)
表单输入具有“已禁用”和“只读”属性,您可以设置这些属性以使其不可编辑。
http://htmlhelp.com/reference/html40/forms/input.html
虽然您永远无法100%确定从客户端发送的内容。整个DOM可由客户编辑。