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样式即可。
7.27-8.10 Problems的更多相关文章
- LuaStudio 9.27 去10分钟退出暗桩板
http://bbs.pediy.com/showthread.php?p=1428203#post1428203
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 10分钟明白对偶建模法 / +Leampms的“主模型建模”和“对偶模型建模” 之 —— 三类最短路径问题
摘要 对偶模型建模是非常有独特的一种建模方式 —— 当问题本身要求指标极小的情况下,对偶模型表现为求极大.本文给出三种最短路径问题的线性规划/混合整数规划模型,其中的第三类最短路径问题采用对偶建模方法 ...
- Java基础10:全面解读Java异常
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 10分钟安装OpenStack
1 OpenStack初学者的苦恼 2 OpenStack最低配置要求 3 配置UOS环境 3.1 设置网络 3.1.1 创建路由器 3.1.2 创建网络 3.1.3 创建两个子网 3.2 创建UOS ...
- 夯实Java基础系列10:深入理解Java中的异常体系
目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...
- 27. USART, Universal synchronous asynchronous receiver transmitter
27.1 USART introduction 通用同步异步接收发射机(USART)对需要NRZ异步串行数据格式行业标准的外部设备,提供了一个灵活的全双工数据交换的方法.USART使用分数波特率生成器 ...
- Python 3.10 中新的功能和变化
随着最后一个alpha版发布,Python 3.10 的功能更改全面敲定! 现在,正是体验Python 3.10 新功能的理想时间!正如标题所言,本文将给大家分享Python 3.10中所有重要的功能 ...
- RFID 读写器 Reader Writer Cloner
RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Int ...
随机推荐
- PLSQLDeveloper_免安装自带client
PLSQLDeveloper_解压版 免安装并且自带有client客户端. 要安装解压附带的readme.txt进行配置. 一. 目录结构 D:\install\PLSQL |-- instantcl ...
- Others-大数据平台Lambda架构浅析(全量计算+增量计算)
大数据平台Lambda架构浅析(全量计算+增量计算) 2016年12月23日 22:50:53 scuter_victor 阅读数:1642 标签: spark大数据lambda 更多 个人分类: 造 ...
- Zabbix实现自动发现端口并监控
1.新建客户端需要的脚本 # vim discovertcpport.sh #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1&q ...
- English Phrases with THE – Linking the TH Sound
English Phrases with THE – Linking the TH Sound Share Tweet Share Tagged With: The Word THE Study En ...
- java script删除数组的方法集合(转载)
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- 如何判定耿耿数已经被bind过?
这个只有原生bind才有这福利 var fn1 = function(){} var a = {} var b = fn1.bind(a) console.log(b.name) // "b ...
- 10.mysql-触发器.md
目录 定义 语法 定义 当操作了某张表时,希望同时触发一些动作/行为,可以使用触发器完成 语法 -- 需求: 当向员工表插入一条记录时,希望mysql自动同时往日志表插入数据 -- 创建触发器(添加) ...
- Oracle 导入大量数据
环境是这样的: 需要导入大量数据到Oracle,目前Oracle已建立索引和触发器了,导入的数据是树型结构,需要关联. 采用的方法是: 删除以前数据库的索引和触发器,用OracleBulkCopy批量 ...
- 学JS的心路历程 -非同步执行
JS是单线程的语言,也就是说同一时间只会执行一行程序,所以如果一段程序执行过久就会造成阻塞(blocking)的现象,必须等到它结束后才能执行下一段程序. 举个例子来说,如果我们今天要买便当,但是老板 ...
- js高级-函数变量提升
var a = 10; function f1(){ console.log(a) //undefined 函数变量提升了 函数执行之前想创建了函数的EC 把函数里面声明的变量初始化undefine ...