表单中disabled和readonly的区别

        disabled和Readonly是用在表单中的两个属性,它们能做到的是不让用户更改表单域中的内容。但是它们之间有着细小的区别,如下:

      readonly只针对input和textarea有效,而disabled对于所有的表单元素都有效,包括select、radio、checkbox、button等。

      但是表单元素在使用disabled后,当我们将表单以post或get的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit  button却可以使用)


     一般常用的情况:

   1、 在表单中卫用户填写了某个唯一标识,不准用户改动,但是在提交时需要传递该值,此时,将属性设置为readonly。

   2、遇到用户提交数据后需要管理员进行信息审核时,这就不允许用户更改表单中的数据,而只能够查看,disabled的作用元素范围比较大,所以此时使用disabled,切记也要将submit  button也disabled掉,否则只要用户按了这个按钮,数据库中的值就会被清除掉。

这种情况下用readonly来代替disabled的话,若表单中只有input和textarea元素,,那还是可以使用readonly的,如果存在其他元素,比如select,用户可以重新填写后按下submit提交

   3、我们常常在用户按下提交按钮后,利用javascript将提交按钮disabled掉,这样可以防止网络条件比较差的话,用户反复提交按钮,导致数据冗余的存入数据库

  


猜你喜欢

转载自blog.csdn.net/sunny1660/article/details/78584247