学习到的东西

前端技能

focus

打开网页focus到登录框中,使用的是当网页加载完成之后

1
2
document.getElementsByName('j_username')[0].focus()
或者直接使用byid

点击回车键登录

使用的是

1
2
3
4
$(document).keypress(function(e) {
if (e.which == 13)
$("form").submit();
});

异步提交form表单。页面不刷新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <form action="" method="post" target="nm_iframe">    
<input type="text" id="id_input_text" name="nm_input_text" />
<input type="submit" id="id_submit" name="nm_submit" value="提交" />
</form>

<iframe id="id_iframe" name="nm_iframe" style="display:none;"></iframe>
```

重点是target属性和iframe,然后随便用jQuery或者js拿到submit的id,或者拿到formid,然后使用submit方法,$(this).ajaxSubmit ,里面写ajax提交的代码

### 正则去日期格式后面的时分秒
```javascript

/\d{4}-\d{1,2}-\d{1,2}/g.exec(listData[i][t + 1].value)[0]

浏览器F12控制台中使用jQuery

1
2
3
var jquery = document.createElement('script'); 
jquery.src = 'https://code.jquery.com/jquery-3.3.1.min.js';
document.getElementsByTagName('head')[0].appendChild(jquery);

清空table中的除去第一行、最后一行和某一个特定的行之外的所有行

1
$("#TABLE_DL_fd_36f49019295d7a tr:not(:first):not(:last):not(:eq(0))").html("");

使用jQuery监听div中内容变化

需求是这样的,我需要通过监听div中某一个内容是否发生变化来改变某一部分内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//插入节点执行
$('div').bind('DOMNodeInserted',function(){
alert('插入了节点')
})
//去掉节点执行
$('div').bind('DOMNodeRemoved',function(){
alert('插入了节点')
})

```

## 数据库相关
### 多字段全表like模糊查询
```bash
最常见的写法:where  a like '%xx%' or b like '%xx%' or c like '%xx%';  这种写法查询效率低,经过>调查,下面的方法可以替代,并且效率高:
1、如果like的关键字相同:
where instr(nvl(a, '')||nvl(b,'')||nvl(c,''),   'xx') > 0
把要模糊查询的字段先拼接起来,拼接时需要把null转成‘’,否则只要有一个字段值是空,整个拼接的字符串
都成空了, 然后用instr 函数去过滤;
2、如果like的关键字不同:
where instr(a, 'xx') > 0  or  instr(b, 'yy') > 0  or instr(c, 'zz') > 0 
经过测试,这两种方法都比like效率要高;

后来按照上面的方式来写,发现报错了,Google之后发现上面是mysql和oracle数据库的函数,sql server>用不了,后来百度发现一个替代品的函数,不好用,弃之。遂直接用like,遍历列名,for循环拼接成一个sql,拿到列名用的是ResultSetMetaData metaData = rs.getMetaData();

0%