zoukankan      html  css  js  c++  java
  • 7.27-8.10 Problems

    这是之前记录在word里的问题,现在誊到博客里。温故知新。时常回顾问题。

    7.27 Bootstrap validator remote 验证出错

    用Bootstrap validator插件验证表单内容user时,用remote方法作静态实时验证用户名是否已存在,但是当输入a的时候就显示“用户名已存在”,并且后面继续输的时候一直显示已存在。

    原因: Remote的url文件 0727.php数据返回出错。

    <?php 
    
    if($_POST['user'] == 'aa' && $_POST['pass'] == 'aaa'){
        echo 'true';
    }else{
        echo 'false';
    } 
    ?>

    但是Bootstrap validator验证时dataType是json,并且读取返回的response的valid字段值,进行判断 所以php中返回的应该是json格式数据。

     function runCallback() {
                    var xhr = $.ajax({
                        type: type,
                        headers: headers,
                        url: url,
                        dataType: 'json',
                        data: data
                    });
                    xhr.then(function(response) {
                        response.valid = false;
                        if ('function' === typeof condition) {
                            response = condition(response);
                        }
                        if ('function' === typeof success) {
                            success(response);
                        }
                        response.valid = response.valid === true || response.valid === 'true';
                        dfd.resolve($field, 'remote', response);
                    });

    改为如下:

    <?php 
    
    if($_POST['user'] == 'aa'){
        $arr = array("valid"=>'false');
        echo json_encode($arr);
    }else{
        $arr = array("valid"=>'true');
        echo json_encode($arr);
    }
    
    ?>

    此时验证功能正常。问题解决。

    7.28 修改代码页面没有变化

    mjad_crm 修改代码文件gulp后打开网站,发现没有修改。尝试后发现html文件修改页面有变化,但是js文件里写alert也不运行。

    原因:页面有缓存 修改后ctrl+F5强制刷新页面即可。

    7.31 Error: Failed to lookup view "/order/intoCashIndex" in views directory "views"

    新增批量导入到款页面时,在路由中配置如下: 但是打开批量到款页面时,报错: Error: Failed to lookup view "/order/intoCashIndex" in views directory "views"

    原因:路径出错,/views是模板路径,渲染的页面应该是 order/intoCashIndex 多写了一个/

    改为 res.render('order/intoCashIndex',{});即可。

    8.2 配置路由后,页面显示无法访问

    路由配置如下:

    router.get('/intoCashDetail/:id',(req,res,next) => {
        var query = {
            Code: req.params.id,
        };  
    
        MJJS.permit(req,res,'/draw/getDrawBusinessInfo') && 
        MJJS.valid('/draw/getDrawBusinessInfo', query, req, res, next, function(data){
            res.render('order/intoCashDetail',{
                config:config,
                title:'批量导入到款记录-订单管理',
                info:data,
                listMenu:req.session.listMenu,
                listRole: req.session.listRole
                });
        });   
    });

    原因:查询接口发现,'/draw/getDrawBusinessInfo'这个接口需要的数据,有三个{businessCode,pageNum,pageSize}。

    而我写的名字是code,不符合接口的参数要求,因此无法返回数据 改为businessCode后,页面成功显示

    8.3 表格列表渲染

    (1)像下面这样写,不用data和load函数时,必须手动渲染每列数据,否则列表接不到值

    table: function() {
                MJJS.ui.iTable('#advTable', {
                    default: MJJS.common.defaultTable,
                    columns: [
                        'no',                                    //NO
                        'contacter',                            //联系人
                        'mobile',                                //联系电话
                        'customerName',                            //客户名称
                        'qq',                                    //QQ
                    ],
                    render: {
                        0: function(o){
                            return o.no || '-';   
                        },
                        1: function(o) {
                            return o.contacter || '-';
                        },
                        2: function(o) {return new Date(n).format('yyyy-mm-dd');
                        },
                        3: function(o) {
    },
                4: function(o){
                } }
    , searchEmpty: '搜索不到数据', url: API.list }); },

    (2)可以不写render函数,直接用data和load函数,会将接口返回的值o作为数据源,和当前表格合并起来,自动填充数据。

    table: function() {
                MJJS.ui.iTable('#advTable', {
                    default: MJJS.common.defaultTable,
                    columns: [
                        'checkbox',                                //全选
                        'no',                                    //NO
                        'contacter',                            //联系人
                        'name'                                    //操作
                    ],
                    render: {},
                    data: function(o){
                        MJJS.data.objMergeTable(_table, o);
                    },
                    searchEmpty: '搜索不到数据',
                    load: function(table) {
                        _table = table;
                    },
                    error: function(err) {
                        if (err.code === '4000004') {
                            MJJS.page.dialog.alert(err.msg, function() {
                                window.location.href = '/logout';
                            });
                        }
                    },
                    url: API.list
                });
            },

    注意在orderlist函数外定义一个全局函数_table,存储当前表格

    当然,如果列表中的数据是动态的,比如改变筛选条件后重新渲染列表,这时需要定义一个arrList,存放列表的数据

    common.js --- MJJS.data

    8.3 导入批次内容挤到下一行的问题 批量导入到款单记录页面,导入批次内容挤到下一行的问题

    原因:form-body有属性word-wrap,

    word-wrap:break-word; 什么意思?????

    防止长单词溢出父容器,使用word-wrap:break-word会在内部断句,因此9会溢出到下一行  

     

    解决办法:去掉最外层的<div class="form-body">就好了

    8.10 初始进入页面时,为什么第二个form-group会有20px的多出来的高度?? 关闭模态框再打开或者点击查询后又没了???

    再细一步 应该是table的问题 为什么页面刚加载的时候iTable样式没有加载进来??点击查询之后,或者关掉模态框再开iTable就有了呢???

    +!+!+!+!+!+!+!+!!+!+!+!+!!+!+!+!+!+!+!+!+!!+!+!++!+我是答案分割线 厚!!!感谢琪总哈哈!!!!!

    原来iTable是table()函数带的,当运行table函数时,才会加载iTable.css,而我的页面是在点击查询之后才调用table函数的:

    $('#distrSearch').on('click', function() {
                    searchVal = $('#distributeNameCH').val();
                    planAudit.table();//调用table函数
    });

    那为什么别的页面的模态框表格没有这个问题呢??

    因为别的页面大都是列表页,首先会调用table函数渲染页面列表,此时iTable已经被加载了,再打开modal就有样式了。

    解决办法:

    在当前html页面手动写iTable样式即可。

  • 相关阅读:
    pip 查看软件包 可用版本并安装; pip 查看 numpy 可用版本并安装
    git submodule git 子模块管理相关操作
    git 取消文件跟踪
    C 实战练习题目1
    VC6.0设置注释快捷键
    2019-11-29-WPF-非客户区的触摸和鼠标点击响应
    2019-11-29-VisualStudio-使用新项目格式快速打出-Nuget-包
    2019-11-29-WPF-从触摸消息转触摸事件
    2019-11-29-win7-无法启动-WPF-程序-D3Dcompiler_47.dll-丢失
    2019-11-29-C#-序列类为-xml-可以使用的特性大全
  • 原文地址:https://www.cnblogs.com/yan89/p/7346213.html
Copyright © 2011-2022 走看看