【问题标题】:How to trigger a function when input type email is valid?输入类型电子邮件有效时如何触发功能?
【发布时间】:2019-11-20 20:42:48
【问题描述】:

我有一个带有input type="email" 的HTML 表单。仅当输入与有效的电子邮件模式匹配时,此字段才会接受。

我想向服务器发出 AJAX 请求,确保在输入的电子邮件已通过输入字段验证后,该电子邮件在数据库中不存在。为此,我在字段上尝试了 .valid() 函数,希望在输入有效电子邮件时触发它,因为 :valid 是 CSS 伪类。

$("input[type='email']").valid(function() {
    let email = $("input[type='email']").val();
    if(email != null) {
        $.ajax({
            // Ajax request made here..
        })
    }
}

但我收到错误,即有效方法不存在。我还能如何做到这一点?

编辑: 我的问题不是要验证电子邮件的格式是否正确,如this 问题中所述。它是关于运行一个函数,该函数仅在输入的电子邮件已经采用有效格式时才进行 AJAX 调用。 AJAX 调用检查电子邮件是否已与另一个帐户链接。我可以在 focusout 上使用此功能,但是当电子邮件明显无效时,这会对服务器进行不必要的调用。

【问题讨论】:

标签: javascript jquery html ajax


【解决方案1】:

您可以在每次用户更改输入值时检查电子邮件是否有效:

$("input[type='email']").keyup(function() {
    let email = $("input[type='email']").val();
    if($(this).is(':valid')) {
        $.ajax({
            // Ajax request made here..
        })
    }
}

【讨论】:

  • $(this).is(':valid')) 是我想要的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-05-06
  • 2022-10-01
  • 2017-04-13
  • 2015-06-13
  • 2012-02-04
  • 1970-01-01
  • 2020-03-26
  • 2011-01-31
相关资源
最近更新 更多