您的位置:首页 > 其它

表单中Readonly和Disabled的区别

2017-02-22 19:30 218 查看
在今天查看GGYun源码时,发现Project在修改时有bug,就是点击修改项目之后,项目名是默认不能修改的,但是原封不动提交时,发现修改后的项目名都是空,查看
Project/Detail.html
源码

<input disabled type="text" name="ProjectName" value="{{.ProjectName}}" class="form-control">


谷歌之后发现,表单的属性Readonly和Disabled之间很相似,但也有些微不同的地方,Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。

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

因此,一般的用法是:在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时应该将它的属性设置为readonly。而当用户正式提交了表单后需要等待管理员的信息验证,在此过程中不允许用户修改表单中的数据,应该使用disabled

详细解释链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: