防止浏览器后退操作,使用window.locaiton.replace()方法,
------------------------------------------------------------------
Ajax静态页面局部刷新:
3种方式:
1:div中嵌套一个iframe,当点击a标签时,将a标签的href赋值给ifame的src:
$('a').click(function(){
$('iframeId').attr('src',$(this).attr('href'));
})
2:用ajax获取数据集,将值写到div中:
$('a').click(function(){
$.post(url,null,function(data){
// $('myDIV').html(data);//data为字符串
for(var i = 0;i<data.length;i++){
$('myDIV').html(data[i].name);//data为json值
}
})
})
3:用jquery 的load方法:
$('a').click(function(){
$("myDIV").load($(this).attr('href'));
})
------------------------------------------------------------------------
判断页面是动态还是静态的方法:
ie直接输入:javascript:alert(document.lastModified)
谷歌:F12-->console:javascript:alert(document.lastModified)
-----------------------------------------------------------------------------------------------
jquery隐藏一个tr:
$("#tr_pwd").hide(); //使用方式一,如果使用了彪子的js校验,则校验不起效果,徐改为下面的方式
$("#tr_pwd").remove(); //虽然是remove,但是查看源代码任然存在,可能在内存中的dom模型中是被移除掉了,使用该方法,彪子的js校验仍然有效果
关联代码如下:
<tr id="tr_pwd">
<td class="term_left"><label for="password">密 码:</label></td>
<td><input id="password" type="password" name="password" value="" class="input_nonull" style="width:127px" /></td>
<td class="term_left"><label for="repassword">确认密码:</label></td>
<td><input id="repassword" type="password" name="repassword" value="" class="input_nonull" style="width:127px" /></td>
</tr>
--------------------------------------------------------------------------------------------------------------------
防止页面刷新时弹出“重试”对话框的最便捷方法:
window.location.href=window.location.href;
------------------------------------------------------------------------------------------------------------------
encodeURIComponent()解决乱码的方法:
var url = "<%=basePath %>manage/user/delete.do?userId="+encodeURIComponent(userId);
$.get(url,function(data){
if(data=="success"){
//alert("删除成功!");
document.location.reload();
}else{
alert("删除失败!");
}
});
-----------------------------------------------------------------------------------------------
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp
System.out.println(request.getContextPath()); 打印结果:/news
System.out.println(request.getServletPath()); 打印结果:/main/list.jsp
System.out.println(request.getRequestURI()); 打印结果:/news/main/list.jsp
System.out.println(request.getRealPath("/")); 打印结果:F:/Tomcat 6.0/webapps/news/test
-------------------------------------------------------------------------------------------
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
meta标签中content属性中的charset值决定了浏览器打开页面时用哪种方式来解析,
如果是utf-8,打开时浏览器会用utf-8字符集来解析
如果是iso-8859-1,打开时浏览器会用iso字符集来解析
如果是gbk,gbk2312,打开时浏览器会用gbk2312简体中文字符集来解析(GBK>GB2312)
如果是big5,打开时浏览器会用繁体中文字符集来解析
---------------------------------------------------------------------------------------------------------------------------
$.ajax({
async: false,
url: "validateAtmAction!validateAtm.action",
data:"",
success: function(msg){
alert( "您的ip地址: " + msg+"不是合法的终端ip!" );
},
error:function(XMLHttpRequest, textStatus, errorThrown){alert("请求失败");alert(textStatus);alert(errorThrown);}
});
jquery中ajax调用action的时候,方法默认返回text/html格式文档,不能按照struts2中action的方式返回字符串结果,
因此aciton中处理的方法返回结果应当是void,在方法体内直接以response方式返回文档内容(前提是返回内容dataType是html或者xml),
不然success方法中不执行,总走error方法。
-----------------------------------------------------------------------------------------------------------------------------
js:double类型保存小数点后两位(toFixed()方法)
var sNum = "12.5557";
nNum = parseFloat(sNum);
if(!isNaN(nNum)) {
alert(nNum.toFixed(2));
}
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
参数描述
num必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>
输出:
13.4
--------------------------------------------------------------------------------------------------------
状态栏显示停留多长时间:
第一步:把如下代码加入到<head>区域中-->
<script>
var Temp;
var TimerId = null;
var TimerRunning = false;
Seconds = 0
Minutes = 0
Hours = 0
function showtime(){
if(Seconds >= 59){
Seconds = 0
if(Minutes >= 59){
Minutes = 0
if(Hours >= 23){
Seconds = 0
Minutes = 0
Hours = 0
}
else {
++Hours
}
}
else {
++Minutes
}
}
else {
++Seconds
}
if(Seconds != 1) { var ss="s" } else { var ss="" }
if(Minutes != 1) { var ms="s" } else { var ms="" }
if(Hours != 1) { var hs="s" } else { var hs="" }
Temp = '你在本页停留了 '+Hours+' 小时'+', '+Minutes+' 分'+', '+Seconds+' 秒'+''
window.status = Temp;
TimerId = setTimeout("showtime()", 1000);
TimerRunning = true;
}
var TimerId = null;
var TimerRunning = false;
function stopClock() {
if(TimerRunning)
clearTimeout(TimerId);
TimerRunning = false;
}
function startClock() {
stopClock();
showtime();
}
function stat(txt) {
window.status = txt;
setTimeout("erase()", 2000);
}
function erase() {
window.status = "";
}
</SCRIPT>
<!--第二步:把“onLoad="startClock()"”加在<body>标记里
例如:-->
<body onLoad="startClock()">
这个只在ie下有效果
---------------------------------------------------------------------------------------------------------------------------------
getRealPath("/")过时,对应的替代方法:
request.getSession().getServletContect().getRealPath("/")得到站点的绝对地址
在Servlet 和Struts中还可以用
this.getServletContect().getRealPath("/");//这个有可能拿到null
this.getServlet().getServletContect().getRealPath("/");//这个没试过
ServletActionContext.getServletContext().getRealPath("comm");
一般情况下使用this.getServlet().getServletContext().getRealPath()和request.getSession().getServletContext().getRealPath()是一样的效果,但是当我们部署的一个EAR包里面有多个WAR应用包共享会话时,request.getSession().getServletContext().getRealPath()这个可能取不到你想要的这个应用的绝对路径,而取到的是其他应用的绝对路径,所以,最好还是使用this.getServlet().getServletContext().getRealPath()来获取绝对路径,避免在这种多应用会话共享情况下绝对路径的错乱。
//下面为struts2里面的方案
ActionContext ac = ActionContext.getContext();
ServletContext sc = (ServletContext) ac.get(ServletActionContext.SERVLET_CONTEXT);
String path = sc.getRealPath("/");
request.getContextPath().toString(); 相对路径