对于一些错误总结

今天编码遇到一个特别奇怪的问题 ,

1在用jsp中利用

<c:if test="${isShow=='true' }"> </if>  在这里要小心  在}这个后面不要与引号有距离。。因为他会把空格也当成具体内容放到test中导致if判断无法执行出现错误

2对于不可编辑信息向后台传输数据

提交表单需要将不可编辑的情况将数据传输到后台,可以在执行ajax时将不可编辑状态移除用removeAttr("disable"); 然后这样在后台就可以获得数据。

3在mybits中可能会将某个内容转换一下成字符串 可以用内容.toString()来转换。

4$("#status option[value='${conditions.status}']").attr("selected",true); 可以根据值来确定是否选中的状态,还有多选框也是类似的原理  多选款应该比单选框多了个内容判断的然后再给加var checkboxValue='${condition.productType }';
            var checkboxValues=[];
            checkboxValues=checkboxValue.split(",");
            var location= document.getElementsByName("productType");
            for(var i=0;i<location.length;i++){
                for(var index=0;index<checkboxValues.length;index++){
                    var checkValue=location[i].value;
                    if(checkValue==checkboxValues[index]){
                        location[i].checked=true;
                    }
                }       
            }

 在这里多记录下因为由于ajax异步的原因加载dom时顺序会在dom加载完成后才执行那么可能在获取值时就会出现问题,解决方法 1可以在回调函数中完成所需要的操作或者  使用同步操作

$.ajax({

async:false 注意加上这个属性就可以了
}),但是同步可能会有问题  大家可以自己测试

5对于一些跟数据库打交道的数据校验 暂时了解的只有两种方法  首先是页面输入内容后离开输入框

   .blur是焦点的离开 然后进行数据校验 

    $("#userPhone").blur(function(){
                var userPhone=$("#userPhone").val();
                  var code = '0';
                /** 验证用户输入的信息的有效性  **/
                $.ajax({
                    type : "POST",
                    async : false,
                    url : "/manage.onigiri/activity/verifyUserphone",
                    data :{"userPhone":userPhone},
                    success : function(res){
                        code = res.code;
                        if(code == '0'){
                            $("#addText").html("<font color='red'>手机号无效请重新输入</font>");
                        }
                        else{
                            $("#addText").html("<font color='red'>手机号正确</font>");
                        }
                    },
                    error : function(msg){
                        alert("操作失败");
                    }
                });
               
            })

  另外一中就是利用点击按钮后 进行数据校验 ,自我感觉 点击按钮后进行数据检验不符合实时性,因为如果输入的数据太多的话那么就会在点击按钮后检验出现错误 导致人工时间的浪费。

6在一些对单选框 想获得其单选框内容可以用var showStatus=    $('input:radio:checked').val();来获得单选框的值 ,然后可以进行一些问题的处理

猜你喜欢

转载自fengruiqi.iteye.com/blog/2346607