Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery在更改时验证输入字段?_Jquery_Input_Validation_Onchange_Blur - Fatal编程技术网

如何使用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();
});