繁体   English   中英

如何使用jquery在更改时验证输入字段?

[英]How do I use jquery to validate an input field on change?

我有一个input字段:

<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />

我有一大块jquery代码,当我点击tab或以其他方式离开字段时,它会调用验证例程:

$("#parametersEmail").blur(function(event) {
    validateParameterEmail();
});

我想做的是每当输入字段的值或内容发生变化时运行validateParameterEmail()函数。

所以我接着尝试了.change()处理程序:

$("#parametersEmail").change(function(event) {
    validateParameterEmail();
});

但是当我更改parametersEmail的内容时,此处理程序不会调用验证函数。

我应该使用另一个处理程序吗? 或者我不能将多个事件处理程序附加到输入字段?

尝试$("#parametersEmail").keydown(function(event) {})

试试这个:

$("#parametersEmail").bind('blur', function(event) {} );

$("#parametersEmail").bind('keyup', function(event) {} );

(近2017年的现实)

最好的方法是在输入值变化的所有需要​​事件上设置一次回调。

有:

  • keyup:用户在输入中键入内容
  • 更改:关于存储的输入更改的常见已知方法
  • 点击:某些输入也会通过鼠标进行更改
  • 粘贴:是的! Ctrl + V,Crtl + Ins,RightMouseButton + Paste也可以改变输入值
  • propertychange:当某些JS以任何方式更改我们的输入时,此事件将被触发
  • 输入:支持所有现代浏览器的新标准事件,也可以使用它

所以,我们可以设置所有这些:

$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
    validateParameterEmail();
});

希望这对某人有帮助。 ;)

更改是指当您单击远离/从输入移动时。 可能正在寻找onKeyUp()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM