I thought this problem was limited to dialogajaxlink but I see teh same thing now with ajax forms and jquery.
The first time the form is used the submit event works, when it is rerendered it doesn't work the next time. In the example below the first time the forgot password process is started by clicking the link in the ClientAccess component the PasswordHelp component the forms appear and work fine. When you cancel and click the forgot password link again, the first form with the kaptcha element wont submit again when you press Next. I'm now thinking this may be a kaptcha issue in that kaptcha codes should not be reused anyway? In which case how do I request a new code in my component? Reloading the page gets rid of the problem, similar to the issue I had with dialogajaxlink. I have a prototype running on a test server where the problem can easily be reproduced: https://bespokebookings.com:8443/bbapp/Ad/JohnDoe1 What is wrong? regards, John ClientAccess.tml <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"> <div class="access"> <t:zone t:id="signupZone" id="signupZone"> <t:if t:test="!authenticated"> <t:zone t:id="helpNicknameZone" id="helpNicknameZone"> <t:if t:test="showNicknameHelp"> <!--t:nicknamehelp/--> </t:if> </t:zone> <t:zone t:id="helpPasswordZone" id="helpPasswordZone"> <t:passwordhelp nicknameParm="${nickname}" showParm="${showPasswordHelp}"/> </t:zone> <form t:type="form" t:id="signupForm" t:secure="true" t:zone="^"> <p>${message:text.accessgreeting}</p> <t:label for="nickname" class="left">${message:label.nickname}</t:label> <input t:type="TextField" t:id="nickname" t:validate="required,minlength=3" size="20"/> <t:if test="!signup"> <span title="forgot nickname" class="help"><t:eventlink t:id="forgotnickname" t:zone="helpNicknameZone">?</t:eventlink></span> </t:if> <br/> <t:label for="password" class="left">${message:label.password}</t:label> <input t:type="PasswordField" t:id="password" t:validate="required" size="20"/> <t:if test="!signup"> <span title="${message:hint.forgotpassword}" class="help"><t:eventlink t:id="forgotPassword" t:zone="signupZone">${message:text.forgotpassword}</t:eventlink></span> </t:if> <br/> <t:if test="!signup"> ${message:text.registerinfo} <br /> <p:else> ${message:text.privacyinfo} <br/> <t:label for="question" class="left">${message:label.question}</t:label> <t:select t:id="question" value="questionId" model="questions" t:blankOption="NEVER"/> <br/> <t:label for="answer" class="left">${message:label.answer}</t:label> <input t:type="TextField" t:id="answer" t:validate="required,minlength=2" size="15"/> <br/> <t:label for="phone" class="left">${message:label.phone}</t:label> <input t:type="TextField" t:id="phone" t:validate="regexp=[0-9]*,minlength=8" size="15" maxlength="15" t:mixins="jquery/tooltip" title="${message:hint.mphone}"/> <br/> <t:label for="email" class="left">${message:label.email}</t:label><br/> <input t:type="TextField" t:id="email" t:validate="email,minlength=6" size="40" maxlength="40" t:mixins="jquery/tooltip" title="${message:hint.email}"/> <br/> <t:label for="age" class="left">${message:label.age}</t:label> <t:select t:id="age" value="age" t:blankOption="ALWAYS" t:mixins="jquery/tooltip" title="${message:hint.age}"/> <br /> <t:label for="sex" class="left">${message:label.sex}</t:label> <t:select t:id="sex" value="sex" model="literal:M,F" t:blankOption="NEVER" t:mixins="jquery/tooltip" title="${message:hint.sex}"/> <br/> <t:label for="consent">${message:label.consent}</t:label> <input t:type="Checkbox" t:id="consent" t:mixins="jquery/tooltip" title="${message:hint.consent}"/> <br/> <t:kaptchaimage t:id="kaptcha"/> <br/> <span>${message:kaptchawarning}</span> <br/> <t:kaptchafield image="kaptcha"/> <br/> </p:else> </t:if> <t:errors /> <center> <t:if test="!signup"> <t:actionlink t:id="signUp" t:zone="signupZone">${message:text.register}</t:actionlink> <p:else> <t:actionlink t:id="cancel" t:zone="signupZone">Cancel</t:actionlink> </p:else> </t:if> <input t:type="submit" value="${message:button.submit}" t:mixins="jquery/button"/> <t:hidden value="signup"/> </center> </form> </t:if> </t:zone> </div> </html> PasswordHelp.tml <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"> <t:zone t:id="helpPasswordOuterZone" id="helpPasswordOuterZone"> <t:if t:test="modal"> <div class="modalblock"/> </t:if> <div class="helpform"> <t:if t:test="page1"> <t:delegate to="block:helpPassword1"/> </t:if> <t:if t:test="page2"> <t:delegate to="block:helpPassword2"/> </t:if> <t:if t:test="page3"> <t:delegate to="block:helpPassword3"/> </t:if> <t:if t:test="page4"> <t:delegate to="block:helpPassword4"/> </t:if> </div> </t:zone> <t:block id="helpPassword1"> <form t:type="form" t:id="helpPasswordForm1" t:secure="true" t:zone="^"> <t:errors /> <center> <t:kaptchaimage t:id="kaptcha"/> <br/> <span>${message:kaptchawarning}</span> <br/> <t:kaptchafield image="kaptcha"/> </center> <div class="lowbar"> <t:eventlink t:id="cancelPasswordHelp1" t:event="cancel" t:zone="helpPasswordOuterZone">${message:text.cancel}</t:eventlink> <input t:type="submit" value="${message:button.next}" t:mixins="jquery/button"/> </div> </form> </t:block> <t:block id="helpPassword2"> <p>${message:text.passwordhelp}</p> <form t:type="form" t:id="helpPasswordForm2" t:secure="true" t:zone="^"> <t:errors /> <t:label for="nickname" class="left">${message:label.nickname}</t:label> <input t:type="TextField" t:id="nickname" t:validate="required,minlength=3" size="20"/> <div class="lowbar"> <t:eventlink t:id="cancelPasswordHelp2" t:event="cancel" t:zone="helpPasswordOuterZone">${message:text.cancel}</t:eventlink> <input t:type="submit" value="${message:button.next}" t:mixins="jquery/button"/> </div> </form> </t:block> <t:block id="helpPassword3"> <form t:type="form" t:id="helpPasswordForm3" t:secure="true" t:zone="^"> <t:errors /> <p>${question}</p> <input t:type="TextField" t:id="answer" t:validate="required,minlength=2" size="15"/> <div class="lowbar"> <t:eventlink t:id="cancelPasswordHelp3" t:event="cancel" t:zone="helpPasswordOuterZone">${message:text.cancel}</t:eventlink> <input t:type="submit" value="${message:button.next}" t:mixins="jquery/button"/> </div> <t:hidden value="nickname"/> <t:hidden value="clientId"/> <t:hidden value="questionId"/> </form> </t:block> <t:block id="helpPassword4"> <p>${message:text.passwordhelpdone}</p> <div class="lowbar"> <t:eventlink t:id="cancelPasswordHelp4" t:event="cancel" t:zone="helpPasswordOuterZone">${message:text.cancel}</t:eventlink> </div> </t:block> </html> --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com