我有一个带有禁用字段的表单的Web应用程序。它允许“另存为”功能,这基本上意味着可以将设置复制到新配置(不进行修改),在新配置中,可以将它们更改为其他设置。我遇到的问题是,由于字段被禁用,它们不会被发布,也不会出现在服务器端的上下文对象中。
当我删除逻辑以禁用字段时,该部分工作正常。所以剩下的问题是,如何“禁用”字段(不允许对任何输入字段中的数据进行任何更改)而不真正“禁用”它们(以便在保存时通过数据发布)?
我最初在CSS中寻找一种方法,但不确定它是否存在。当然,最好的解决方案是最简单的解决方案。提前谢谢!
(注意:'禁用'我的意思是“文本框显示但它们内部的文本都不能被修改”。对我来说,当你在里面点击它时光标是否出现并不重要,不过如果我有一个偏好,它将没有光标...)
答案 0 :(得分:3)
http://www.w3schools.com/TAGS/att_input_readonly.asp readonly属性就是你想要的。
答案 1 :(得分:1)
我建议您不要使用页面输入中的不可更新字段值,而是从数据库中检索原始对象并从那里复制它们。使用像Firebug这样的东西来修改页面内容非常简单,这些页面的内容将被回发以修改值,即使它们被标记为只读。既然你真的想要原始的值,我只需要重新创建对象并复制它们。然后,您无需担心原始(和不可更新)属性是否会被回发。