表单中Readonly和Disabled的区别

 我来答
匿名用户
2016-04-17
展开全部
jquery设置元素的readonly和disabled

Jquery的api中提供了对元素应用disabled和readonly属性的方法,在这里记录下。如下:
1.readonly
 

$('input').attr("readonly","readonly")//将input元素设置为readonly
  $('input').removeAttr("readonly");//去除input元素的readonly属性

   if($('input').attr("readonly")==true)//判断input元素是否已经设置了readonly属性

   对于为元素设置readonly属性和取消readonly属性的方法还有如下两种:
  $('input').attr("readonly",true)//将input元素设置为readonly
  $('input').attr("readonly",false)//去除input元素的readonly属性

  $('input').attr("readonly","readonly")//将input元素设置为readonly
  $('input').attr("readonly","")//去除input元素的readonly属性

2.disabled

$('input').attr("disabled","disabled")//将input元素设置为disabled
$('input').removeAttr("disabled");//去除input元素的disabled属性

if($('input').attr("disabled")==true)//判断input元素是否已经设置了disabled属性

为元素设置disabled属性和取消disabled属性的方法还有如下两种:
$('input').attr("disabled",true)//将input元素设置为disabled
$('input').attr("disabled",false)//去除input元素的disabled属性

$('input').attr("disabled","disabled")//将input元素设置为disabled
$('input').attr("disabled","")//去除input元素的disabled属性

总结:
Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。

共同点:都不能编辑和获取焦点。
readonly:使用表单post或get传递时会被传递出去。

disable:使用表单post或get传递时不会被传递出去。
但是readonly的显示效果是没有灰化的。

所有控件都有disabled 属性,但是不一定有readonly属性;点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。

小技巧: 可以给readonly设置一个css样式:
style="background-color:#cccccc;"
这样readonly的显示效果就和disable一样了

如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。

而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。
郁放昂双文
2019-05-24 · TA获得超过3901个赞
知道大有可为答主
回答量:3079
采纳率:33%
帮助的人:206万
展开全部
readonly是只读,disabled是禁用,因此不难得知readonly支队文本域和input元素起作用,而disabled对其他以外的元素也起作用,例如button等。希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式