浅谈html中input写保护特性readonly和disable的差别

Readonly和Disabled它们都可以保证应用户不可以够变更表单域中的內容。可是它们之间拥有细微的区别,总结以下:

Readonly只对于input(text / password)和textarea合理,而disabled针对全部的表模块素都合理,可是表模块素在应用了disabled后,当大家将表单以POST或GET的方法递交的话,这个元素的值不容易被传送出去,而readonly会将该值传送出去(readonly接纳值变更能够回传,disable接纳改但不回传数据信息)。

1般较为常见的状况是:

1、在某个表单中为客户预填了某个唯1鉴别编码,不容许客户修改,可是在递交时必须传送该值,此时应当将它的特性设定为readonly 。

2、常常遇到当客户宣布递交了表单后必须等候管理方法员的信息内容认证,这就不容许客户再变更表单中的数据信息,而是只可以查询,因为disabled的功效元素范畴大,因此此时应当应用disabled,但另外应当留意的是要将submit button也disabled掉,不然要是客户按了这个按钮,假如在数据信息库实际操作网页页面中沒有做详细性检验的话,数据信息库中的值就会被消除。假如说在这类状况下用readonly来替代disabled的话,若表单中仅有input(text / password)和textarea元素,那還是能够的,假如存在别的发元素,例如select,客户能够在再次改变值后按回车键开展递交(回车是默认设置的submit开启功能键)

3、大家经常在客户按了递交按钮后,运用javascript将递交按钮disabled掉,这样能够避免互联网标准较为差的自然环境下,客户不断点递交按钮致使数据信息冗余地存入数据信息库。

disabled和readonly这两个特性有1些相互的地方,例如都设为true,则form特性将不可以被编写,常常在写js编码的情况下非常容易混和应用这两个特性,实际上她们之间是有1定差别的:

假如1个键入项的disabled设为true,则该表单键入项不可以获得聚焦点,客户的全部实际操作(电脑鼠标点一下和电脑键盘键入等)对该键入项都失效,最关键的1点是当递交表单时,这个表单键入项将不容易被递交。

readonly只是对于文字键入框这类能够键入文字的键入项,假如设为true,客户只是不可以编写对应的文字,可是依然能够聚焦聚焦点,而且在递交表单的情况下,该键入项会做为form的1项递交。 

以上这篇浅谈html中input写保护特性readonly和disable的差别便是网编共享给大伙儿的所有內容了,期待能给大伙儿1个参照,也期待大伙儿多多适用脚本制作之家。

原文详细地址:http://blog.csdn.net/playboyanta123/article/details/12682419#comments