javascript - 如何在 false 时触发函数?

标签 javascript jquery forms validation

我有一个输入表单,我想验证电子邮件地址(或只是一个 @ 符号)。但我只想在错误时进行验证,因此删除 jquery 代码片段中 else 语句之前的所有内容?

编辑

当用户输入错误(在本例中不是电子邮件地址)时,通知用户。

HTML

<form onsubmit="validate(); return false;">
<p>Enter an email address:</p>
<input id="email">
<button type="submit" id="validate">Validate!</button>
</form>
<br>
<h2 id="result"></h2>

jQuery

function validateEmail(email) {       
    var re = /@/;
    return re.test(email);
}

function validate(){
  $("#result").text("");
  var email = $("#email").val();
  if (validateEmail(email)) {
    $("#result").text(email + " is valid :)");
    $("#result").css("color", "green");
  } else {
    $("#result").text(email + "is not valid :(");
    $("#result").css("color", "red");
  }
  return false;
}

$("form").bind("submit", validate);

最佳答案

您可以使用 not 运算符 ! 来反转条件,如下所示:

function validate(){
  $("#result").text("");
  var email = $("#email").val();
  if (!validateEmail(email)) { //email is invalid?
    $("#result").text(email + "is not valid :(");
    $("#result").css("color", "red");
    //call a function to trigger
    return false;
  }
}

关于javascript - 如何在 false 时触发函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36936234/

相关文章:

python - Django/Sendgrid 表单 HTTP 错误 400 : Bad Request

javascript - 将脚本添加到 Angular 库

javascript - ASP.NET 拖放

javascript - jquery 效果突出显示不起作用

jquery - 为什么 $.post() 受同源策略约束,但使用方法 ='POST' 提交表单可以?

asp.net - 一个 .aspx 页面中有两个表单标记

javascript - 使用es6 map根据属性值更新对象数组

javascript - IE11 的非跳跃视差 - 但如何?

javascript - 单击来自另一个窗口的链接时激活打开的窗口选项卡

javascript - 在函数中使用 preventDefault() 的问题