解决disabled标签内的value不能传值给服务器

24 篇文章 1 订阅
12 篇文章 0 订阅

disable的标签值不会传值给服务器

<input type="text" name="did" value="${dept.did}" disabled="disabled"/><br/>

解决方法

  1. 将表单中字段 disabled 用 readonly 代替即可(如有需要,可以对该表单加上灰色的背景色)

    <input type="text" name="did" value="${dept.did}" readonly/><br/>
    
  2. 可以在写一个隐藏属性,一个用于传值,一个用于显示

如:加一个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 下拉框

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值