que tienen el siguiente fragmento de código dentro de un h:form
Primefaces Captcha desaparece o no se actualiza/actualiza en entradas no válidas?
<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>
Esto funciona bien si entro en el captcha correctamente. Sin embargo, si ingreso un valor inválido, el componente captcha simplemente desaparece.
He intentado eliminar el atributo update="captchaGrid"
. Esta vez, el captcha no desapareció. En cambio, no se actualizó visualmente, pero (supongo) internamente. Porque escribir las dos palabras correctamente todavía genera un error de validación.
Además; No quiero usar ajax="false"
.
Actualización: También probé oncomplete="Recaptcha.reload()"
. No funcionó Hay un error. Pero no sé si es mi código o Primefaces 3.0 :)
Actualización 2: Como maple_shaft señaló, este es un problema con Primefaces/Recaptcha. Así que estoy buscando cualquier truco sucio que pueda sugerir.
Cualquier ayuda apreciada.
Realmente no me gustaba su maple_shaft respuesta, pero gracias :) ¿Hay alguna manera de presentar un 'h: form' que contiene un' iframe'? Por supuesto, me gustaría enviar el contenido del 'iframe' también. –
@Murat No creo que así es como funcionan los iframes.El contenido del iframe es una página completamente diferente, por lo que, para que sea posible, probablemente se necesite un código JavaScript inteligente. No he usado iframes en más de 8 años, así que no recuerdo mucho. Debe preguntar sobre el envío de un formulario dentro de un iframe de la página maestra en una pregunta diferente para obtener una mejor respuesta. –