Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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
Javascript 值更改事件并单击事件_Javascript_Java_Jquery_Jsf 2_Primefaces - Fatal编程技术网

Javascript 值更改事件并单击事件

Javascript 值更改事件并单击事件,javascript,java,jquery,jsf-2,primefaces,Javascript,Java,Jquery,Jsf 2,Primefaces,我有一个JSF页面,输入字段上有值更改侦听器,还有一个保存更改的按钮。当我在它们上更改一个值并将选项卡移出字段时,验证将启动,一切正常。但是,当我更改一个值,并且在没有弹出选项卡的情况下单击Save按钮时,value change事件将触发,但其按钮的单击操作不会触发。如何避免这一问题,使两个事件都能按顺序触发?在要验证的字段中使用“p:clientValidator”,并且在p:com和Button primefaces中使用属性validateClient=“true”即可 看看这个例子:

我有一个JSF页面,输入字段上有值更改侦听器,还有一个保存更改的按钮。当我在它们上更改一个值并将选项卡移出字段时,验证将启动,一切正常。但是,当我更改一个值,并且在没有弹出选项卡的情况下单击Save按钮时,value change事件将触发,但其按钮的单击操作不会触发。如何避免这一问题,使两个事件都能按顺序触发?

在要验证的字段中使用“p:clientValidator”,并且在p:com和Button primefaces中使用属性validateClient=“true”即可

看看这个例子:

在要验证的字段中使用“p:clientValidator”,并在p:comandButton primefaces中使用属性validateClient=“true”即可完成验证

看看这个例子:

我猜这是多个ajax请求的原因

当您单击提交按钮时,您的输入字段变得模糊,从而触发其chnage事件,该事件将向您的服务器发送一个ajax,从而使您的提交按钮ajax请求丢失(您不能一次/一次单击发送两个ajax)


我建议您将输入更改事件替换为keyup事件,以防止双重ajax发送scneario

我猜这是多个ajax请求的原因

当您单击提交按钮时,您的输入字段变得模糊,从而触发其chnage事件,该事件将向您的服务器发送一个ajax,从而使您的提交按钮ajax请求丢失(您不能一次/一次单击发送两个ajax)


我建议您将输入更改事件替换为键控事件,以防止双重ajax发送scneario

您能在此处提供程序代码吗?这将有助于提供更好的解决方案。您能在此处提供程序代码吗?这将有助于提供更好的解决方案。谢谢您的回答。您的建议将解决问题,但在keyup上触发验证将意味着我们无法检测用户是否已完成字段编辑。您可以将验证移动到“提交”按钮,只需编写一个自定义验证程序,该验证程序将检查submit上的输入谢谢您的回答。您的建议将解决问题,但在keyup上触发验证意味着我们无法检测用户是否已完成字段编辑。您可以将验证移动到“提交”按钮,只需编写一个自定义验证程序来检查submit上的输入谢谢Julio。我需要调用服务器端验证,因此客户端验证在我的场景中是不够的。谢谢Julio。我需要调用服务器端验证,这样在我的场景中客户端验证就不够了。