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

时间:2021-10-19 20:18:11

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获取,使用参数形式传递