[ https://issues.apache.org/jira/browse/TAP5-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Stanton reopened TAP5-1180: -------------------------------- I have re-tested this under tapestry 5.1.0.5 and it is broken. the example above shows the problem in action for me. > LinkSubmit does nothing > ----------------------- > > Key: TAP5-1180 > URL: https://issues.apache.org/jira/browse/TAP5-1180 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-core > Affects Versions: 5.1.0.5 > Reporter: Paul Stanton > > After stepping through the javascript, I believe it's because the onsubmit > event handler for the form is "javascript:Tapestry.waitForPage(event);" who's > first line is "if (Tapestry.pageLoaded) return;". > This is the equivalent of "if (Tapestry.pageLoaded) return false;" when > evaluated to a boolean as it is in the LinkSubmit onClick handler: > if (onsubmit == undefined || onsubmit.call(window.document, event)) > { > this.createHidden(); > this.form.submit(); > } > .. and therefore "this.form.submit();" is never called. > Obviously this is a bug, I'm pretty sure the resolution would be to change > Tapestry.waitForPage so that it returns true if the page is loaded and false > otherwise, ie: > waitForPage : function(event) > { > if (Tapestry.pageLoaded) return true; > ... > return false; > } > This will allow 'waitForPage' to be evaluated to a boolean as it is in > LinkSubmit.onClick, however there may be a better solution. > EG: > MyPage.tml: > ---------------------------------------------------------------------------------------------------------------------------------------------------- > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml" > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" > xmlns:p="tapestry:parameter"> > <t:form t:id="myForm"> > <t:linksubmit t:id="myLink">link</t:linksubmit> > <t:submit t:id="mySubmit" /> > </t:form> > </html> > ---------------------------------------------------------------------------------------------------------------------------------------------------- > MyPage.java > ---------------------------------------------------------------------------------------------------------------------------------------------------- > public Class MyPage > { > public void onSuccessFromMyForm() > { > LOG.debug("onSuccessFromMyForm"); > } > public void onSelectedFromMyLink() > { > LOG.debug("onSelectedFromMyLink"); > } > public void onSelectedFromMySubmit() > { > LOG.debug("onSelectedFromMySubmit"); > } > } > ---------------------------------------------------------------------------------------------------------------------------------------------------- -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira