
3秒或5秒后自动隐藏提示消息和重定向到另一页
在提交表单的时候,每当用户输入有错误时要提示用户错在哪里,以便用户改正,从而顺利完成表单的提交。通常的做法是,当用户填写完了表单的所有项,提交表单时,从头开始检查,当检查到有错误时立即返回,把具体的错误反馈给用户,也就是在客户端显示错误提示消息。大多情况下,显示错误提示消息后,提示文字一直显示在那里,当用户纠正错误再次提交时,如果检查没有错误,则错误提示不再显示,如果纠正一项后,后面的还有错误,继续显示错误原因,如此反复直到所有项输入都正确完成表单提交。
错误提示消息通常都比较简短并且用特别亮的颜色显示,用户一两秒就能看完,一直显示在那里显得比较明显,如果3秒或5秒后自动把它隐藏起来不是更好,并且用 javascript 实现十分简单,一两句代码就能搞定。
1、3秒或5秒后自动隐藏提示消息
html代码:
<ul class="ul">
<li>产品:<input type="text" id="productId" /></li>
<li>品牌:<input type="text" id="tagId" /></li>
<li>价格:<input type="text" id="priId" /></li>
<li><input type="button"; id="btnId" value=" 提 交 " onclick="return checkText()" />
<span id="msgId" class="msg"></span></li>
</ul>
CSS代码:
<style type="text/css">
.ul{line-height:28px; list-style:none;} .msg{color:Red;}
</style>
javascript代码:
<script type="text/javascript">
function checkText() {
var proId = document.getElementById("productId"), pp = document.getElementById("tagId"), priId = document.getElementById("priId"), msg = document.getElementById("msgId");
if (proId.value == "") {
msg.innerHTML = "产品不能为空!";
setTimeout("hideMsg()", 3000);
return false;
}
if (pp.value == "") {
msg.innerHTML = "品牌不能为空!";
setTimeout("hideMsg()", 3000);
return false;
}
if (priId.value == "") {
msg.innerHTML = "价格不能为空!";
setTimeout("hideMsg()", 3000);
return false;
}
return true;
}
function hideMsg() {
var msg = document.getElementById("msgId");
msg.innerHTML = "";
}
</script>
以上代码实现了输入错误显示提示消息后,提示文字在3秒后被隐藏(清除),也可以设置为5秒,只要把 checkText() 方法中的 3000 改为 5000 即可,要设置为其它时间,按此方法改即可。
2、3秒或5秒后自动重定向
假如要在3秒后自动跳转到另一个网页,javascript代码:
setTimeout("self.location = '/htm/index.htm'", 3000);
如果要在5秒后自动跳转,把 3000 改为 5000 即可。