如何隐藏/删除错误信息后显示它给用户后几秒钟在javascript
How to hide/remove a error message after showing it to user after few second in javascript
我正在编写一个脚本,将验证用户名。我可以在用户名上打勾。如果用户名不符合标准,那么我抛出错误。
<script>
//<![CDATA[
function visitPage() {
if (validateUsername()) {
var div = document.getElementById("totalpricecheck");
var spans = div.getElementsByTagName("span");
var totalprice = spans[3].innerHTML;
var name = document.getElementById("name").value;
alert(name);
}
}
function validateUsername(fld) {
var fld = document.getElementById("name").value;
var error = "";
var illegalChars = /'W/; // allow letters, numbers, and underscores
if (fld.value == "") {
//fld.style.background = 'Yellow';
error = "You didn't enter a username.'n";
document.getElementById("nmessage").innerHTML = "You didn't enter a username.'n";
// $("#nmessage").fadeOut(3000);
// alert(error);
return false;
} else if ((fld.length < 5) || (fld.length > 50)) {
//fld.style.background = 'Yellow';
error = "The username is the wrong length.'n";
document.getElementById("nmessage").innerHTML = "OOps!! The username is too short 'n";
// alert(error);
return false;
} else if (illegalChars.test(fld.value)) {
//fld.style.background = 'Yellow';
document.getElementById("nmessage").innerHTML = "The username contains Unsupported characters.'n";
error = "The username contains Unsupported characters.'n";
// alert(error);
return false;
} else {
// fld.style.background = 'White';
}
return true;
}
return false;
}
// ]]>
</script>
我试图隐藏这个错误使用淡出效果,如给出的几秒钟后隐藏div
setTimeout(function() {
$('#mydiv').fadeOut('fast');
}, 1000); // <-- time in milliseconds
但我没有得到我如何在JavaScript中使用jQuery方法来删除错误消息。有人建议我有什么可能的选择,我必须得到想要的效果
- 正如@iFTrue在另一个帖子中提到的,必须提供正确的div ID。 正如@chitrang在评论中提到的,jQuery库必须是
使用下面的代码从CDN包含jQuery。粘贴到head
标签
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
你应该在visitPage()中设置计时器
function visitPage() {
if(validateUsername()) {
var div = document.getElementById("totalpricecheck");
var spans=div.getElementsByTagName("span");
var totalprice=spans[3].innerHTML;
var name = document.getElementById("name").value;
alert(name);
}
else {
// show error message
$('#nmessage').show();
// hide error message after 3 sec
setTimeout(function() {
$('#nmessage').fadeOut('fast');
}, 3000);
}
}
我看到你只使用jQuery来隐藏和显示div。如果你不需要淡出动画效果,你可以删除jQuery库并使用下面的代码。
function visitPage() {
if(validateUsername()) {
var div = document.getElementById("totalpricecheck");
var spans=div.getElementsByTagName("span");
var totalprice=spans[3].innerHTML;
var name = document.getElementById("name").value;
alert(name);
}
else {
// show error message
document.getElementById("nmessage").style.display = 'block';
// hide error message after 3 sec
setTimeout(function() {
document.getElementById("nmessage").style.display = 'none';
}, 3000);
}
}
根据这里的代码判断:
document.getElementById("nmessage").innerHTML ="The username contains Unsupported characters.'n";
你的setTimeout函数没有调用正确的div来隐藏。它应该看起来像这样:
setTimeout(function() {
$('#nmessage').fadeOut('fast');
}, 1000); // <-- time in milliseconds
我也没有看到这在你的脚本中实现,所以添加setTimeout函数调用后,你改变innerHTML。
相关文章:
- 将变量传递给外部Javascript
- 将对象传递给函数.JavaScript
- 使用Jasmine捕获传递给不同JavaScript文件中函数的参数
- JavaScript:为什么不't将背景变化发送给用户's选择(简单)
- 正在给用户第二次尝试
- 如何在 l.Content 方法(Asp.net MVC 剃刀)中给出 Javascript 变量@Ur
- 读取一个本地文件,编码为base64,我想给用户一个将结果保存到文件的选项
- Ajax/php创建了一个数组——如何以.txt的形式下载给用户
- 在页面显示给用户之前拦截并修改DOM
- 如何将SVG节点转换为PNG并下载给用户
- 如何根据从选择菜单中提供给用户的选项更改网页的背景颜色
- Acrobat DC 应用程序和用户 JavaScript 文件夹问题
- 将全局变量分配给以下 Javascript
- 捕获 onPaste 并将事件传递给函数 javascript/jQuery
- Javascript函数,可以将包含用户输入的文件下载给用户
- 使用Facebook Javascript SDK发布给用户'的朋友's墙-得到了有效的回应,但帖子没有
- 在nodejs中将javascript代码发送给用户之前,我们如何执行它
- 如何将数组传递给用户定义的对象或将非OO代码转换为OO?javascript
- 发送一个文件给用户,然后使用Javascript加载新的URL
- 如何隐藏/删除错误信息后显示它给用户后几秒钟在javascript