form表单元素中disabled的元素的值不会提交到服务器

Posted 57容杰龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了form表单元素中disabled的元素的值不会提交到服务器相关的知识,希望对你有一定的参考价值。

1.表单元素中disabled的元素的值不会提交到服务器,后台获取的值为null

<form id="myForm" action="#" method="post">

  <input name="username" disabled="disabled" />  

  <input type="submit" value="提交"/>

</form>

在form表单里,如果对input加入disabled="disabled"或disabled="true"等属性,form表单提交的时候,就不会传值到后台。

 

2.原因:在html页面的某元素加入了disable的属性,那么这个元素只是单单的去给用户去显示,当表单提交时,这个元素不会提交给后台去处理.所以当元素加入了disabled属性,后台是无法得到这个属性的值.

3.解决方法:

  A.再写一个隐藏属性,一个用于显示,一个用于传值。

  B.<input name="username" readonly="readonly" />  设置只读

  可用readonly代替,background-color:#cccccc;加上灰色背景色就可以达到disable的效果

  C.在form表单提交时利用js/jq将disabled属性修改

//js
document.getElementById("username").disabled="";
//jq
$("#username").attr("disabled",false);

  D.disable属性的值用js/jq获取,使用参数形式传递

以上是关于form表单元素中disabled的元素的值不会提交到服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何设置表单元素的只读和禁用属性

表单中Readonly和Disabled的区别

jQuery设置disabled属性

html input readonly 和 disable的区别

禁用与状态相关的整个表单元素。反应

几种设置表单元素中文本输入框不可编辑的方法