我在h:form中有以下代码
<h:panelGrid id="captchaGrid"> <p:captcha id="captcha" label="Captcha" required="true" requiredMessage="required" validatorMessage="..."> </p:captcha> <p:message id="captchaMessage" for="captcha" /> </h:panelGrid> <p:commandButton id="submitButton" value="save" actionListener="#{userBean.save}" update="captchaGrid" onstart="doSomething()" oncomplete="doSomethingElse(xhr,status,args)" icon="ui-icon-check"> </p:commandButton>
如果我正确输入验证码,这可以正常工作.但是,如果我输入的值无效,则验证码组件就会消失.
我尝试删除update =“captchaGrid”属性.这一次,验证码并没有消失.相反,它没有在视觉上刷新,但(我猜)在内部.因为正确键入两个单词仍会生成验证错误.
此外;我不想使用ajax =“false”.
更新:我也试过oncomplete =“Recaptcha.reload()”.没工作.有一个错误.但我不知道这是我的代码还是Primefaces 3.0