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 readonly