
input的字段当为disabled时时无法获取数值得,所以尽量不要用这个,我们可以用readonly带替代,即可解决这类问题。
放在form表单中提交后得不到该值。
将disabled="disabled" 改为 readonly = "readonly" 即可 ,按照W3C的规范
设置为disabled的input将会有下面的限制:
1不能接收焦点
2使用tab键时将被跳过
3可能不是successful的
设置为readonly的input将会有下面的限制:
1可以接收焦点但不能被修改
2可以使用tab键进行导航
3可能是successful的
只有successful的表单元素才是有效数据,也即是可以进行提交。disabled和readonly的文本输入框只能通过脚本进行修改value属性。
一、来看看这两个属性在效果和使用上的区别。
1readonly是要锁定这个控件,通过在界面上无法修改他(但是通过javascript可以修改他)。
2 disabled 和readonly有相同的地方也是可以锁定这个控件用户不能改变他的值,但是disabled的更彻底一些,他是要使你完全不能使用他,包括改变他的背景颜色(不信,你去修改一个被disabled掉的input文本框,你发现你是徒劳),如果是checkbox则不能选中他。
3 所有控件都有disabled 属性,但是不一定有readonly属性,如select 下拉框。
(1)text
(2) checkBox
(3)select下拉选择框(这里只能显示disabled和非disabled的区别,因为select 没有readonly属性
(4)button按钮
说明:点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。
(5)div
说明:将div设置disabled属性之后,整个div都灰掉了,但是文本框里面还是可以输入内容的。
注意:select下拉选择框是没有readonly属性的
参考原文链接: >
1楼的方法有局限性, 只能是所有文本框的name属性都相同才能起作用
但是根据题意, 不可能所有的文本框的name属性都相同
我稍做修改 使用 documentgetElementsByTagName() 方法
<html>
<body>
<input name="txt1" type="text" />
<input name="txt2" type="text" /><br />
<input name="txt3" type="text" />
<input name="txt4" type="text" /><br />
<input type="button" value="锁定" onclick="lock('true')" />
<input type="button" value="解锁" onclick="lock('false')" />
</body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function lock(flag){
var txtArrs = documentgetElementsByTagName('input');
for(var i=0; i<txtArrslength; i++){
var txt = txtArrs[i];
if(txttype == 'text'){
if(flag == 'true'){
txtdisabled = true;
}else{
txtdisabled = false;
}
}
}
}
//-->
</SCRIPT>
</html>
代码中的问题:选中是 check=“check” ,单选按钮同一个name中只能选择一个(设置name='a'),没有选择onchange事件,只是在加载的时候判断一次 ,肯定没变化
修改后的代码:
<script language="javascript">
var a1="";
windowonload = function(){
a1= documentgetElementsByName("cc")value;
changeaa();
};
function changeaa(aa){
a1= aa;
if (a1== "长方形")//若是长方形则type="text" id="A"与id="B"可输入
{
documentgetElementById("A")removeAttribute("disabled");
documentgetElementById("B")removeAttribute("disabled");
documentgetElementById("C")setAttribute("disabled", "disabled");
}
else if (a1=="三角形")
{
documentgetElementById("A")removeAttribute("disabled");
documentgetElementById("B")removeAttribute("disabled");
documentgetElementById("C")removeAttribute("disabled");
}
else if (a1=="圆")
{ documentgetElementById("A")removeAttribute("disabled");
documentgetElementById("B")setAttribute("disabled", "disabled");
documentgetElementById("C")setAttribute("disabled", "disabled");
}
}
</script>
<form method=post name=form>
<br>
<input type="radio" name="cc" value="三角形" checked="checked" onchange="changeaa(thisvalue);"/>
三角形
<br>
<input type="radio" name="cc" value="长方形" onchange="changeaa(thisvalue);"/>
长方形
<br>
<input type="radio" name="cc" value="圆" onchange="changeaa(thisvalue);"/>
圆
<br>
边长一:
<input type="text" id="A" name="sideA" disabled="disabled">
边长二:
<input type="text" id="B" name="sideB" disabled="disabled">
边长三:
<input type="text" id="C" name="sideC" disabled="disabled">
<input type="submit" value="send" name=submit>
</form>
假定需要disabled的类为 class1$("class1")is(":disabled")addClass("disabled");$("class1")is("not:disabled")removeClass("disabled");然后添加 class1的 CSSclass1disabled {background:#ccf;}这只是个大体的思路,具体的实施方案根据你的网页来自行调整吧,jQuery不是万能的,有的时候也要搭配CSS选择器,JS,和XHTML等
如下;
<input type="text" id="test1" value=""/>
js
documentgetElementById("test1")readOnly="readonly";只读
documentgetElementById("test1")readOnly="";可读
documentgetElementById("test1")disabled="disabled";失效
documentgetElementById("test1")disabled="";有效
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。[1]
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
应该用 prop("disabled") 有则返回true吧没有返回false, 千万别用 attr
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 60+、FF 15+、Safari 20+、Opera 90+等。
在jQuery迅速发展的同时,一些大的厂商也看中了商机。2009年9月,微软和诺基亚公司正式宣布支持开源的jQuery库,另外,微软公司还宣称他们将把jQuery作为Visual Studio工具集的一部分。他将提供包括jQuery的智能提示、代码片段、示例文档编制等内容在内的功能。微软和诺基亚公司将长期成为jQuery的用户成员,其他成员还有Google,Intel,IBM,Intuit等公司。
2009年1月,jQuery 13版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升。这一版本的第2个变化就是提供live()方法,使用live()方法可以为当前及将来增加的元素绑定事件,在13版之前,如果要为将来增加的元素绑定事件,需要使用livequery插件,而在13版中,可以直接用live()方法。
2010年1月,也是jQuery的四周年生日,jQuery 14版发布,为了庆祝jQuery四周岁生日,jQuery团队特别创建了jquery14com站点,带来了连续14天的新版本专题介绍。
在13及更早版本中,jQuery通过JavaScript的eval方法来解析json对象。在14中,如果你用的浏览器支持,则会使用原生的JSONparse解析json对象,这样对json对象的书写验证则更为严格。比如:{foo: "bar"}的写法将不会被验证为合法的json对象,必须写成{"foo":"bar"}。如果你的程序打算升级到14版本,那么这一点要尤其注意。
以上就是关于表单input中disabled提交后得不到值的解决办法全部的内容,包括:表单input中disabled提交后得不到值的解决办法、js用disabled属性控制input怎么获取页面值、求js控制页面内所有文本框的disabled属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)