【问题标题】:"Protect" text box value from input (HTML form)从输入中“保护”文本框值(HTML 表单)
【发布时间】:2011-05-11 16:19:27
【问题描述】:

我想知道是否可以为 HTML 文本框赋值并保护它。

我的意思是让它的内容不可修改,这样当表单被提交时,我“确定”提交的就是这个值。

顺便说一句,我意识到更简单的方法不是“听”这个输入而只是分配它,但能够执行上述操作会派上用场。

我希望问题足够清楚,如有任何需要请询问。

提前致谢!

编辑:我肯定不够清楚,但我试图表达我应该在提交后保留该值(在客户端不可修改)

【问题讨论】:

    标签: html forms protected assign


    【解决方案1】:

    表单输入具有“禁用”和“只读”属性,您可以设置它们以使其不可编辑。

    http://htmlhelp.com/reference/html40/forms/input.html

    尽管您永远无法 100% 确定从客户端发送的内容。客户端可以编辑整个 DOM。

    【讨论】:

      【解决方案2】:

      设置输入元素的readonly属性:

      <input type="text" readonly="readonly" />
      

      这将阻止任何修改(除非用户使用 DOM 检查器进行编辑)。始终验证服务器上的输入。如果您不希望进行任何更改,请不要让用户对其进行编辑。

      http://www.w3schools.com/tags/att_input_readonly.asp

      【讨论】:

        【解决方案3】:

        就这样做

        <input type="text" value="VALUE" readonly />
        

        那么它将是只读的:)

        【讨论】:

          【解决方案4】:

          不,不是。您永远不应相信用户输入,其中包括表单提交。

          其他答案告诉您如何将该字段标记为只读。如果您想显示特定值,同时显示它不是打算编辑的,这很有用。

          但是,仍然可以使用 Firebug、DOM Inspector 等进行修改。或者,他们可以完全不使用浏览器提交 HTTP 请求。

          我建议将值存储在会话中。

          【讨论】:

          • 好的,所以会话是要走的路,javascript 将更像是所有客户端解决方案等 asme,我说的对吗?
          • 我完全同意。如果您不想编辑某些内容,请不要以这种方式向用户展示。
          【解决方案5】:

          &lt;input type="text" readonly="readonly"/&gt;。但是:永远不要确定,并在服务器端验证数据。使用无效数据请求 GET/POST 非常容易。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-09-21
            • 2012-01-05
            • 2018-11-25
            • 2022-01-12
            • 2023-04-01
            • 2011-05-30
            • 2012-02-11
            • 1970-01-01
            相关资源
            最近更新 更多