在开发的时候经常遇到这样的问题,就是需要设置某个控件不可编辑,这个控件可能是一个input文本框,可能是一个select下拉列表
遇到这样的问题,一般有两种处理方法
第一种是将input 控件添加 disabled属性,这样控件是不能使用了,但是这样却无法提交到后台。
为了解决这个问题,可以这样设置,设置input文本框的readonly属性,这样文本变成了不可编辑,而且也可以提交到后台。
那么select是不是也可以使用readonly这个属性呢?与是就在页面上试了一下,结果发现给select设置readonly属性后,改控件依然可以正常使用,那么对于这个select的问题改如何处理呢?
笔者试了很多方法,有点虽然能够实现,单总也不够完美,于是想到了万能的网络,看看在百度里,这个问题,工程师们是怎么解决的,于是开始搜索
找了很多页面,最终找到了一个比较完美的解决方法,在这里说一下思路:
1.在页面加载的时候,将select设置成disable(这样select变成了不可编辑);
2.在用户点击提交按钮,将数据提交到服务器的时候,也就是在提交到服务器之前,再将select设置的disabled给去掉(这样提交到服务器的就是一个没禁用的select,自然它的值也可以提交到服务器了)。
好了,就这样简单的两步,解决了这个问题。现在看来,是不是简单了很多呢?
从这个问题看来,很多问题都是这样,按照一开始的两种方法,总是有不完美的地方,但是如果转换一下思路,换一种思考方式,问题就又变的迎刃而解了。