[ 
https://issues.apache.org/jira/browse/TAP5-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship resolved TAP5-1180.
----------------------------------------

    Resolution: Cannot Reproduce

I've never seen the problem you see, across multiple browsers and versions of 
Tapestry. Please re-open with a test case if the problem still remains.

> 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

        

Reply via email to