如何使用jquery在更改时验证输入字段?
我有一个如何使用jquery在更改时验证输入字段?,jquery,input,validation,onchange,blur,Jquery,Input,Validation,Onchange,Blur,我有一个输入字段: <input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 /> 我想做的是在输入字段的值或内容发生更改时运行validateParameterEmail()函数 因此,我还尝试了.change()处理程序: $("#parametersEmail").change(function(event) { validateParameterEmail(); });
输入
字段:
<input type="text" name="notifyEmail" id="parametersEmail" value="" size=40 />
我想做的是在输入字段的值或内容发生更改时运行validateParameterEmail()
函数
因此,我还尝试了.change()
处理程序:
$("#parametersEmail").change(function(event) {
validateParameterEmail();
});
但是,当我更改参数semail
的内容时,该处理程序不会调用验证函数
我是否应该使用另一个处理程序?或者我不能将多个事件处理程序附加到输入字段吗?请尝试
$(“#parametersEmail”)。向下键(函数(事件){})
更改是指当您单击离开/移动输入时的更改。您可能正在查找onKeyUp()
请尝试以下操作:
$("#parametersEmail").bind('blur', function(event) {} );
及
(几乎2017年的现实)
最好的方法是对所有需要更改输入值的事件设置一次回调
有:
- keyup:用户在输入中键入了一些内容
- 更改:关于输入中存储的更改的常见方法
- 单击:一些输入也会通过鼠标进行更改
- 帕斯特:是的!Ctrl+V、Crtl+Ins、RightMouseButton+Paste也可以更改输入值
- propertychange:当一些JS以任何方式更改我们的输入时,将触发此事件
- 输入:支持所有现代浏览器的新标准事件,也使用它
$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
validateParameterEmail();
});
希望这对某人有帮助 仅供参考。。。在输入文本字段中,.blur()和.change()实际上是一样的。区别是模糊=失去焦点,而更改=失去焦点+不同的值。重点是无论哪种方式,你都必须失去对它的关注。如果您希望在用户每次输入字符时调用该函数(当用户输入字符时),请使用其他人提到的.keyup或.keydown。keydown()似乎在输入值更改之前实际触发。换句话说,如果您键入
1234
,这将在123
上验证。同样,如果您键入1234[delete]
,它将在1234
上进行验证.keyup()
可能更适合表单验证。
$("#parametersEmail").bind('keyup', function(event) {} );
$("#parametersEmail").bind("propertychange change click keyup input paste", function(event) {
validateParameterEmail();
});