我有一个简单的电子邮件表单,如果电子邮件地址经过验证,我想显示一个 snackbar 通知。但是,似乎 .test() 方法不允许显示 snackbar 。
当我运行它时,我会在控制台中看到“显示 snackbar”消息一瞬间,但从来没有看到 snackbar 本身或“隐藏 snackbar”消息。如果验证了电子邮件地址,我需要做什么才能显示 snackbar ?
function validateForm() {
var x = document.forms["memberSearch"]["email"].value;
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(memberSearch.email.value)) {
showSnackbar()
return (true);
} else {
alert("This doesn't look like an email address...");
return (false);
}
};
function showSnackbar() {
console.log("Showing snackbar")
var x = document.getElementById("snackbar");
x.className = "show";
setTimeout(function(){ x.className = x.className.replace("show", "");
console.log("Hiding snackbar")}, 3000);
}
最佳答案
原来这根本不是 Javascript 问题。这是 HTML 的问题。该按钮位于 <form>
内标签。将按钮移到窗体外修复它。
关于javascript - 如果使用 Javascript 验证电子邮件,则显示 snackbar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59435876/