readonly与disabled的区别

摘要:readonly 只对 和 标签有效;disabled 对所有表单元素都有效, 包括:, , , , , 等

一. 范围不同

readonly 只对 <input> 和 <textarea> 标签有效

disabled 对所有表单元素都有效, 包括:<input>, <textarea>, <button>, <label>, <option>, <select>等


二. 程度不同

readonly 只是将元素设置为只读,不可输入,对其它操作没有影响

disabled 阻止元素的一切操作。包括 获取焦点,点击事件等


三. 表单提交

readonly 只是将元素设置为只读,不影响表单提交

disabled 设置了该属性的表单元素,值将不会随着表单一起提交


四. JavaScript操作

设置了readonly和disabled的表单元素,用户无法再界面上改变它的值。但通过JavaScript是可以改变其值的,同样背景色,字体颜色等也可以通过JavaScript来改变。

例如:下面的代码运行在chrome浏览器中时,点击“点我”后两个input框的字体颜色、背景色,值都会发生变化。

$('input').attr("readonly","readonly") //将input元素设置为readonly  
$('input').removeAttr("readonly"); //去除input元素的readonly属性  
 或
$('input').attr("readonly",true)
$('input').attr("readonly",false)
$('input').val ('1')   // 设置input的值
注: 使用表单post或get传递时会被传递出去
$('input').attr("disabled","disabled") //将input元素设置为readonly  
$('input').removeAttr("disabled"); //去除input元素的readonly属性  
 或
$('input').attr("disabled",true)
$('input').attr("disabled",false)
$('input').val ('0')   // 设置input的值

//注: 使用表单post或get传递时不会被传递出去


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_1877