前几天在页面上的给某个input框设置了一个disable属性,然后在用form提交表单的过程中,发现后台的实体类得不到这个字段的值,当时就有点懵,当然我的第一反应不是百度更不是问人,毕竟这种问题实在是不太好意思问的出口,自己默默的把表单和后台实体类的字段属性甚至于数据库的字段都(虽然和数据库并没有半毛钱关系)梳理了一遍,发现任然是获取不到这个字段的值,嗯,纠结了一会之后,抱着死马当活马医的态度把disable属性去掉了(平时一般都是用readonly,那个页面是一时心血来潮用了disable),然后奇迹就发生了,值获取到了。
disable:1,可以给页面表单中所有的元素设置的属性;2,设置此属性的表单元素的值不会随着你的POST/GET 方法传递出去,比如你可以在js中在用户点击submit按钮之后将submit按钮的设置成disable防止用户重复提交造成数据冗余,;,3,设置成disable的输入项无法获取焦点,任何操作都是无效的。
readonly:1,只针对input(text/password)和textarea输入框;2:,设置成readonly的值是可以被传递出去的;3,设置成readonly的元素的是不可编辑但是可以获取焦点的。
说真的,虽然已经写代码快一年了,但是由于自己的粗心大意和平时不怎么注意总结,所以很多细节方面的东西我都没有注意过,这次虽然是个小问题,但是我事后还是进行了反思认为自己还是要做点什么来改变一下自己