事情是这样的…我有一个primefaces页面,我正在使用JQuery脚本修改一些组件的style-class
。问题是,在某些字段验证失败后,脚本停止修改style-class
,因此某些组件的样式失败。我试图在提交按钮上使用update="@form"
刷新页面,但它不会工作,因为验证是ajax级别。手动刷新页面可以工作,但不可取,并且既不会保留错误消息,也不会保留没有错误验证的字段值。
我只能猜测你的脚本在做什么,但最有可能的是它在dom - element上工作,这些dom - element被ajax调用更改或替换。例子:
$(document).ready(function() {
$('input').on('change', function() {
$(this).add('class', 'changed');
});
});
这个脚本在DOM准备好后,在它找到的所有输入字段上注册一个事件。如果ajax调用添加了一个新的输入字段或呈现了其中一个输入元素,您没有在它们上自动注册事件。
您需要在ajax调用后再次注册事件,例如oncomplete="registerEvents();"
,其中registerEvents
与您在$(document).ready
函数中所做的事情相同。