Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
5.1.0.5
-
None
-
None
Description
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="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()
public void onSelectedFromMyLink()
{ LOG.debug("onSelectedFromMyLink"); }public void onSelectedFromMySubmit()
{ LOG.debug("onSelectedFromMySubmit"); }}
----------------------------------------------------------------------------------------------------------------------------------------------------