html表单提交,disabled无法获取数据的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html表单提交,disabled无法获取数据的问题相关的知识,希望对你有一定的参考价值。

我这里有一个5行的表单,首先进入这个页面的时候调用body的onload属性把form表单的内容的disabled设置为true,使其无法编辑,然后每行后面有个修改按钮,onclick调用js把这行的disabled设置为false,让其可以编辑

但是我修改一行之后,表单提交之后,无法获取修改这一行的数据啊?请问这是为什么?request里面属性值为空

我的目的就是这5行表单中,用户可以修改其中某一行或者几行修改后发给后台。

不要用disabled,如果是文本框,换用readonly属性来使文本框只读就好了。如果disabled的话,那么表单提交时是不带该控件数据的。

现提供两种方法:

第一种就是在form提交时,用onSubmit提交。

onSubmit指向的方法中把select控件只读属性解禁,提交后再禁止。

第二种方法是:

<script type="text/javascript">
var workorderParamParentCode=document.getElementById("workorderParamParentCode");
var i=workorderParamParentCode.selectedIndex;//这里最好放到页面最下面
function setDefault()
workorderParamParentCode.selectedIndex=i;

</script>

如上面代码所示:在代码结尾处加上此方法,在select控件中加上onChange="setDefault()" 属性 。

电脑不能启动的原因

系统不承认硬盘

此类故障比较常见,即从硬盘无法启动,从A盘启动也无法进入C盘,使用CMOS中的自动监测功能也无法发现硬盘的存在。这种故障大都出现在连接 电缆 或IDE口端口上,硬盘本身的故障率很少,可通过重新插拔硬盘电缆或者改换IDE口及电缆等进行替换试验,可很快发现故障的所在。

如果新接上的硬盘不承认,还有一个常见的原因就是硬盘上的主从条线,如果硬盘接在IDE的主盘位置,则硬盘必须跳为主盘状,跳线错误一般无法检测到硬盘。

参考技术A 不要用disabled,如果是文本框,换用readonly属性来使文本框只读就好了.如果disabled的话,那么表单提交时是不带该控件数据的.追问

可是我用的是select啊~真是奇怪为啥不可以呢~我尝试在提交之前,把所有disabled设置为false,post提交以后还是空的,真的好奇怪啊。。。。

追答

检查一下有没有为select设置name属性.如果disabled=false,应该是可以提交的.

本回答被提问者和网友采纳

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

以上是关于html表单提交,disabled无法获取数据的问题的主要内容,如果未能解决你的问题,请参考以下文章

html input readonly 和 disable的区别

表单input中disabled提交后得不到值的解决办法

input为disabled提交后得不到该值的解决方法

工作总结 表单提交中 Input 设置 disabled readonly

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

表单中Readonly和Disabled的区别