如何在false上触发函数?

时间:2016-04-29 10:42:52

标签: 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);

1 个答案:

答案 0 :(得分:3)

您可以使用not operator !来反转这样的条件:

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;
  }
}