在项目维持后期,客户提出了一个需求,就是对前台增加了一些控制,但是发现如果只是用javascript改变,后台会出现问题。比如:前台有一个checkbox,他对应的字段在DB中是[1],那么如果他显示到页面上是选中而且无效的状态,我再次点击更新按钮,这样的话更新到DB他的值就是[0]了,这与画面不符合。
这个时候就可以设定这个checkbox设定一个隐藏的变量。将它的值设定为DB的初始值,然后用下面的javascript判断。
- function setCrdtChkUmuFlag(){
- if(document.getElementById('hiddenCrdtChkUmuFlg').value == '1') {
- document.getElementById("crdtChkUmuFlg").checked = true;
- } else {
- document.getElementById("crdtChkUmuFlg").checked = false;
- }
- }
然后在逻辑里面作判断:
- if (params.getHiddenCrdtChkUmuFlg() != null
- && !"".equals(params.getHiddenCrdtChkUmuFlg())
- && "1".equals(params
- .getHiddenCrdtChkUmuFlg())) {
- params.setCrdtChkUmuFlg("1");
- } else {
- params.setCrdtChkUmuFlg(null);
- }
从而将前后台对一个字段的控制联系起来。这种思想方法自己感觉还是不错的。推荐给大家。