=====================================================

1.获取当前页面访问的完整url的各种方式

=====================================================

alert(window.location.href); 

alert(window.location);

alert(location.href);

alert(parent.location.href);

alert(top.location.href);

alert(document.location.href);

alert(document.URL);


=====================================================

2.js中获取当前时间,并且展示的函数

=====================================================

function writeCurrentDate() {

var now = new Date();

var year = now.getFullYear(); //得到年份

var month = now.getMonth();//得到月份

var date = now.getDate();//得到日期

var day = now.getDay();//得到周几

var hour = now.getHours();//得到小时

var minu = now.getMinutes();//得到分钟

var sec = now.getSeconds();//得到秒

     var MS = now.getMilliseconds();//获取毫秒


var week;

month = month + 1;

if (month < 10) month = "0" + month;

if (date < 10) date = "0" + date;

if (hour < 10) hour = "0" + hour;

if (minu < 10) minu = "0" + minu;

if (sec < 10) sec = "0" + sec;
if (MS < 100)MS = "0" + MS;

var arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");

week = arr_week[day];

var time = "";

time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week;



//当前日期赋值给当前日期输入框中(jQuery easyUI)

$("#currentDate").html(time);

//设置得到当前日期的函数的执行间隔时间,每1000毫秒刷新一次。

var timer = setTimeout("writeCurrentDate()", 1000);

}

=====================================================

3.java后台格式化时间的类

=====================================================

SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

sd.format(new Date());


=====================================================

4.js中加日期限制的方法

=====================================================

var myDate = new Date();

var day = myDate.getDate();

if(day>20) {

topAlert('提示', '20日之后,无法竞价!');

}else{

执行需要执行的过程

}


=====================================================

5.避免浏览器缓存的方法

=====================================================

var rm = Math.random();//保证每次刷新刷新页面都能访问不同路径

只需要将此参数添加至访问路径后,例如:

url:'http://localhost:8080/jointframe/app/trading/transferInfo!indexTransferInfo.page? rm='+rm,


=====================================================

6. 判断是否移动设备的浏览器,是否允许触摸事件

========================================================

if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {

window.useTouchEvents = true;

} else {

window.useTouchEvents = false;

}


=====================================================

7. 前台数据传到后台出现乱码解决方法

========================================================

get方式会导致进入缓存,也会引起传递到后台去的参数乱码,改成post方式就OK了

//方式一:
//psname为前台传递到后台的字段
psname = new String(psname.getBytes("iso8859-1"),"utf-8");

//方式二:
//判断当前字符串的编码格式
if(destination.equals(new String(destination.getBytes("iso8859-1"), "iso8859-1")))
{
  destination=new String(destination.getBytes("iso8859-1"),"iso8859-1");
  destination=new String(destination.getBytes("iso8859-1"),"utf-8");
}
//psname为前台传递到后台的字段
psname = new String(psname.getBytes("iso8859-1"),"utf-8");
destination=new String(destination.getBytes("iso8859-1"),"iso8859-1");
  destination=new String(destination.getBytes("iso8859-1"),"utf-8");
}


=====================================================

8.tomcat的内存配置

========================================================

 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m

各种小功能的实现_数据

=====================================================

9.文本域(<textarea></textarea>)标签限制长度方法

========================================================

下面是标签,内部加了一个onkeyup事件(松开键盘触发):

<textarea name="dealSituation" id="dealSituation"  placeholder="请记录新的处办情况" rows="3" style="width:580px;height:300px;" onkeyup="checkLen(this)"></textarea>


下面是实现松开键盘事件触发的函数js:

<script type="text/javascript">
function checkLen(obj) {
var maxChars = 500;//最多字符数
if (obj.value.length > maxChars)
obj.value = obj.value.substring(0,maxChars);
var curr = maxChars - obj.value.length;
document.getElementById("count").innerHTML = curr.toString();
};
</script>


=====================================================

10.equals使用时的注意细节

========================================================

if(A.equals(B)){

  //出现在equals之前的数据A要是不为NULL的数据,否则,如果A为NULL则会报错

}


=====================================================

11.like(模糊查询)的用法

========================================================

select * from tb where addr like '%长安区%' and addr like '%站牌%'


各种小功能的实现_数据_02

总结:使用like关键字对数据库表中数据进行模糊查询可以以上面这种方式拼接成多个字段。

=====================================================

12.#(井号)从页面向后台传递的方式

========================================================

(1)将含有#(井号)的参数通过下面方法做处理后传递到后台

var param = encodeURIComponent("abc#xyz");

window.location="some_web_project/xxx.jsp?param =" + param;


(2)在Java后台以这中方式将其取出来

String param= request.getParameter("param");


=====================================================

13.easyui datagrid 列的内容超出所定义的列宽时,自动换行

========================================================

定义datagrid中的元素 nowrap="false"可以使得列中的内容超出所定义的列宽是就会自动换行



=====================================================

14.前端页面大于窗口自动生成拖动

========================================================

只需要在body标签内加入如下div标签,将页面内容写在div中即可

方法一:所有浏览器可以使用
<div style="overflow-y: auto; overflow-x: hidden; width:986px; height:550px;">
<!-- 页面内容 -->
</div>



方法二:只可以IE使用
<body scroll="yes">



=====================================================

15.sql server中datetime默认值设置

========================================================

--GETDATE()获得的是系统当前的数据
update t_unified_enterprise_info set update_time = GETDATE()



=====================================================

16.查询没有空值且没有重复的字段

========================================================

--(用这个查询语句可以确定出一个没有空值且没有重复的字段)
select DISTINCT PSCode from PSInfo.PSBaseInfo



=====================================================

17.Combotree,datebox 启用 禁用

========================================================

combotree
     <input type="checkbox" id="ckMonitor"></input>
<input id="ProfessionMonitoring" name="ProfessionMonitoring" data-options="checkbox:true" multiple style ="width:500px;" class="easyui-combotree" disabled = "disabled" />

        $("#ckMonitor").click(function () {
  var Isck = $("#ckMonitor").attr("checked");
  if (Isck == "checked") {
          //启用
  $("#ProfessionMonitoring").combotree('enable');
  }
  else {
          //禁用
  $("#ProfessionMonitoring").combotree('disable');
          }
  });


datebox()
        //启用
        $("#DraStartTime").datebox("enable");
        //禁用
        $("#DraEndTime").datebox("disable");



=====================================================

17.用jQuery给文本框添加或移除只读属性

========================================================

<input id="id" type="text"  />



jQuery(

$("#id").attr("readonly","readonly"); //添加readonly属性

$("#id").removeAttr("readonly"); //去除readonly属性

);



=====================================================

18.该语句没有返回结果集

========================================================

如果查询执行的时候数据库返回”该语句没有返回结果集。“这样的错误,存储过程中少了一句代码:SET NOCOUNT ON  

 各种小功能的实现_html_03


=====================================================

19.一个小数格式的字符串通过split(".")方法以小数点分开

========================================================

String num ="123.456";

//这种是可以的
String[] res = num.split("2");

//这是错误的写法,不能分出来
//String[] strs = num.split(".");

//必须要经过下面的方式对小数点进行转义才可以
String[] strs = num.split("\\.");



=====================================================

20.html中上角号和下角号等的一些特殊写法

========================================================

 (1)效果图如下:

各种小功能的实现_javascript_04

(2)代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<td rowspan=\"2\" align=\"right\" width=\"35%\">NO<sub>x</sub>(μg/m<sup>3</sup>)&nbsp;</td><td width=\"15%\"align=\"center\">平均值</td><td width=\"25%\">&nbsp;"+NO2_24_YT+"</td><td width=\"25%\">&nbsp;"+NO2_24_MS+"</td>
<td rowspan=\"2\" align=\"right\" width=\"35%\">PM<sub>2.5</sub>(μg/m<sup>3</sup>)&nbsp;</td><td width=\"15%\" align=\"center\">平均值</td><td width=\"25%\">&nbsp;"+PM25_24_YT+"</td><td width=\"25%\">&nbsp;"+PM25_24_MS+"</td>
</body>
</html>


=====================================================

21.IE下传递某些参数会出现乱码的问题

========================================================

IE不会自动转为UTF8编码。必须自己手动用js的encodeURI转码为UTF8格式之后,再拼接你要post的URL。这样服务器端处理时得到的就UTF8编码,而不是乱码。代码调整如下即可:

var menuName = encodeURI($("#menuName").val());



=====================================================

22.页面实现动态日期展示的方法

========================================================

效果如下:

各种小功能的实现_html_05

<div id="time"></div>
<script language="javascript" type="text/javascript">
window.onload=function (){
setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
}
</script>


页面倒计时:

各种小功能的实现_数据_06

HTML代码:

<div id="num" style="width:100%;height:100%;background-color:white;color:black;font:50px bolder '微软雅黑' ; margin:auto;text-align:center;z-index: 1;">距离下次打印还有:300秒</div>


javascript代码:

var sec = 299;//设置倒计时时间为30秒
  function countDown() {//倒计时的方法
    if(sec >= 0) {
      //num.innerHTML = sec--;
      $("#num").text("距离下次还有:"+(sec--)+"秒");
    } else {
      sec = 299; //倒计时为0进入的页面
    }
  }
  window.setInterval("countDown();", 1000);



=====================================================

23.获取登录用户信息

========================================================

User user = LoginUtil.getAppLoginUser(request);



=====================================================

24.java将反斜线替换成正斜线

========================================================


//将反斜线替换成正斜线
relativePath = relativePath.replaceAll("\\\\", "/");



=====================================================

25.sql server数据库需要给用Excel表格导入的数据添加新id的办法:

========================================================

update [t_pollutant_source_infos] set id = newID()



=====================================================

26.设置页面内容自适应浏览器宽度:

========================================================

<script language="javascript">
  //先获取到报表所在区域的页面元素,再通过document.body.clientWidth获得到浏览器的宽度,将该宽度值用于改变报表所在区域的样式宽度
  function myResize() {
    var tab1 = document.getElementById("sysReportIframe");
    tab1.style.width=document.body.clientWidth;
  }
  window.onload=myResize;
  window.onresize=myResize;
</script>



=====================================================

27.java调试打断点和不打断点执行结果不一致问题解决

=========================================================

java程序在调试的时候需要debug来跟踪一下结果,有一种情况是这样的,正常执行java程序就会出现问题,而断点debug跟踪此方法的时候却是正常的,不断测试结果都是这样,由此判断有可能是因为此方法在执行的时候所需要的参数在获取的时候需要一段时间,而debug的时候是一步一步执行代码,时间很充足,而当程序正常执行的时候由于执行的时间很快,某一个或一些参数没有获取到就直接执行了此方法,由此导致执行结果就会出现和debug时候的执行结果不一致的问题,针对这样的问题有一个解决方法,就是在执行这个方法之前让程序停一会儿,给获取需要的参数所执行的代码足够的时间。给调用此方法的代码之前加上下面语句。

//现场休眠1000毫秒(作用是使当前线程暂时睡眠指定的时间)
Thread.sleep(1000);



=====================================================

28.覆盖内联样式的方式

=========================================================

有时候想要改动页面上面一个内容的样式,但是加上样式后测试还是没变,于是得知优先级不够所致,如下代码加上!important可以提高优先级。

<STYLE TYPE="text/css">
.textbox-text {
width: 70px !important;
padding-top: 8px !important;
padding-bottom: 15px !important;
margin-right: 0px !important;
margin-left: 0px !important;
}
</STYLE>



=====================================================

29.confirm实现 =========================================================

$.messager.confirm("操作提示", "您确定要撤销所下发的任务吗?", function (data) {
if (data) {
alert("是");
}else {
  alert("否");
}
});


=====================================================

30.ajax实现 =========================================================

$.ajax({
  type:"POST",
  url:url,
  data:{
  userId:userId,
  deptId:deptId
  },
  success:function(data){
    tip(data);
    var queryParams = $("#datagridId").datagrid("options").queryParams;
    $("#datagridId").datagrid("options").queryParams=queryParams;
    $("#datagridId").datagrid("reload");
  }
});


=====================================================

31.公众号开发-confirm =========================================================

//删除
function delete(no) {
$.confirm("您确定要删除此数据吗?","确认删除?",function() {
$.ajax({
type : 'post',
url : '${webRoot}/distributionController.do?delete',
data : {
no : no
},
cache : false,
success : function(data) {
window.location.href = "${webRoot}/weixin/distribution.do?math="
+ Math.random();
$.toast("已经删除!");
},
error : function() {
$.alert("删除出错","温馨提示");
}

});

}, function() {
//取消操作
$.alert("已取消","温馨提示");
});
}



=========================================================

32. js直接打开微信

=========================================================

window.location.href = 'weixin://';




 各种小功能的实现_javascript_07