javascript - 如果使用 Javascript 验证电子邮件,则显示 snackbar

标签 javascript testing timeout snackbar

我有一个简单的电子邮件表单,如果电子邮件地址经过验证,我想显示一个 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/

相关文章:

具有数百万匹配项的 javascript indexOf

javascript - 从数组中检索的 var 未定义?

unit-testing - 在 https ://ci. teSTLing.com/with Karma.js 上运行测试?

android - Robotium - 我们如何找到 Activity 中元素的确切索引

java - MySQL:考勤监控应用程序问题

javascript - 重复JS函数

javascript - 如何使用 node.js 获取图像上传进度并在我的 iPhone 应用程序中使用它

testing - 我可以独立使用 waitForElementWidth Selenium 命令吗

Perl CGI 工具中的 Apache 超时

java - 在 Java 多线程中使用 Timeout 避免死锁