欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对于一些错误总结

程序员文章站 2022-05-18 21:38:17
...

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

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();来获得单选框的值 ,然后可以进行一些问题的处理

 

 

相关标签: jsp mybaits