倒计时显示代码来源:https://blog.csdn.net/lzpzwy/article/details/80072734自己做了一点小改动。
首先是跳转,我选择了使用meta标签,简单粗暴。。。
关于meta标签:meta是用来在HTML文档中模拟HTTP协议的响应头报文。 meta 标签用于网页的<head>与</head>中
<meta http-equiv=refresh content="5;url=http://localhost:8080/webtest/Login.jsp">
url后面就是等待时间(秒)和转跳地址,修改即可。
然后就是显示倒计时,直接上方法:
<script>
function countDown(){
var time = document.getElementById("Time");
if(time.innerHTML >= 0){
time.innerHTML = time.innerHTML-1;
}
}
//1000毫秒调用一次
window.setInterval("countDown()",1000);
</script>
if语句是因为怕出现响应缓慢造成数到负数的尴尬情况。。。。
在需要显示文本的地方:
<td> <span id="Time">5</span>秒后自动跳转</td>
我是将文本写在了一张表格里,因此这一条要使用<tb>标签才不会报错,这里JavaScript调用了<span>这个标签中的元素并进行了修改。然后使用了window.setInterval()方法让用于显示的函数隔1秒(1000毫秒)调用一次,
这样这个页面就会自动转跳和计时啦!
效果如图~~
在写的过程我发现调用JavaScript的全局变量需要先声明声明后的地方才能用该变量(听起来好像是废话嗷,但是我一开始就是没搞明白,萌新一个哈哈)
下面是该jsp页面的全部源代码嗷~
<%@page import="com.sun.org.apache.xpath.internal.axes.PathComponent"%>
<%@page import="LoginAction.LoginAction"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv=refresh content="5;url=http://localhost:8080/webtest/Login.jsp">
<title>错误</title>
</head>
<body>
<script>
function countDown(){
var time = document.getElementById("Time");
time.innerHTML = time.innerHTML-1;
}
//1000毫秒调用一次
window.setInterval("countDown()",1000);
</script>
<form action="LoginAction!goBack" method="post">
<table width="360" align="center">
<tr>
<td>用户名或密码错误</td>
</tr>
<tr>
<td> <span id="Time">5</span>秒后自动跳转</td>
</tr>
<tr>
<td> <input type="submit" value="确认"></td>
</tr>
</table>
</form>
</body>
</html>