disable的标签值不会传值给服务器
<input type="text" name="did" value="${dept.did}" disabled="disabled"/><br/>
解决方法
-
将表单中字段 disabled 用 readonly 代替即可(如有需要,可以对该表单加上灰色的背景色)
<input type="text" name="did" value="${dept.did}" readonly/><br/>
-
可以在写一个隐藏属性,一个用于传值,一个用于显示
如:加一个hidden的标签,name值和value值 设置得和disable的标签值一样,这样就可以成功传值了
<input type="hidden" name="did" value="${dept.did}" >
<input type="text" value="${dept.did}" disabled="disabled"/><br/>
disabled和readonly的异同
相同点
- 都可使文本框不能输入文字。
- 可以通过js脚本修改其value值。
- 想要撤销,只能删除相应的属性,设置flase无效
不同点
disabled
- input无法接收焦点
- 使用tab键会跳过元素
- disabled不会对任何事件进行响应(比如:click事件无效)。
- disabled的元素的值不会提交。
- disabled属性可以用于所有的表单元素。
readonly
- input可以接收焦点
- 使用tab键不会跳过元素
- readonly会对事件进行响应。
- readonly的元素的值会提交。
- readonly属性只对 type=“text” 、 textarea 和 type=“password” 有效。
disabled
不会提交到服务器不能被序列化但能js取值赋值 界面上无法修改 所有控件都有 disabled
属性
readonly
会提交到服务器能被序列化 能js取值赋值 界面上无法修改 所有控件不一定有 readonly
属性 如 select
下拉框