You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-dev@incubator.apache.org by piyush hari <pi...@gmail.com> on 2006/09/16 00:02:29 UTC

tr:page issue

Hello,

On a Pocket IE, a  form will not submit if a "tr:commandButton" is placed
within a "tr:page". This is because the rendered html form gets an id in the
format "a:b".  The colon ":" is appended as constant SEPARATOR_CHAR defined
in class javax.faces.component.NamingContainer. Replacing a:b by a.b in an
html works on a Pocket IE. Please advise on the right approach to solve this
problem.

-Piyush

Re: tr:page issue

Posted by Adam Winer <aw...@gmail.com>.
We could use an override of Renderer.convertClientId() to handle this.

-- Adam


On 9/15/06, Joseph Rozier <jo...@gmail.com> wrote:
>
> To clarify the issue a bit more.
>
> Piyush appears to have found a bug on Pocket IE, whereby the "onclick"
> handler is not executed on an input type=button within a form that has
> a colon in the id.  E.g.
>
> <form id="_id1:myform>
>    <input type="button" onclick="myhandler()"/>
> </form>
>
> This does not work on Pocket IE, but does on every other platform he's
> tried.  The result is that commandButtons inside a form inside a page
> do not work, because the form has an id of the form "a:b".  (A
> workaround is to put the tr:form outside of the tr:page.)
>
> If we change the id so that it does not include any punctuation, or so
> that it uses a dot (.) instead of a colon, the onclick handler IS
> called on Pocket IE.
>
> Obviously this is a Pocket IE problem since according to the W3C
> specs, the HTML id/name can contain a colon.
>
> The question is:  does it make sense to use an alternate separator for
> ids to solve this problem?  Is that even allowed?  Piyush found that
> the colon separator is a constant defined in NamingContainer.
>
> Thanks,
>
> Joey
>
>
> On 9/15/06, piyush hari <pi...@gmail.com> wrote:
> > Hello,
> >
> > On a Pocket IE, a  form will not submit if a "tr:commandButton" is
> placed
> > within a "tr:page". This is because the rendered html form gets an id in
> the
> > format "a:b".  The colon ":" is appended as constant SEPARATOR_CHAR
> defined
> > in class javax.faces.component.NamingContainer. Replacing a:b by a.b in
> an
> > html works on a Pocket IE. Please advise on the right approach to solve
> this
> > problem.
> >
> > -Piyush
> >
> >
>

Re: tr:page issue

Posted by Joseph Rozier <jo...@gmail.com>.
To clarify the issue a bit more.

Piyush appears to have found a bug on Pocket IE, whereby the "onclick"
handler is not executed on an input type=button within a form that has
a colon in the id.  E.g.

<form id="_id1:myform>
   <input type="button" onclick="myhandler()"/>
</form>

This does not work on Pocket IE, but does on every other platform he's
tried.  The result is that commandButtons inside a form inside a page
do not work, because the form has an id of the form "a:b".  (A
workaround is to put the tr:form outside of the tr:page.)

If we change the id so that it does not include any punctuation, or so
that it uses a dot (.) instead of a colon, the onclick handler IS
called on Pocket IE.

Obviously this is a Pocket IE problem since according to the W3C
specs, the HTML id/name can contain a colon.

The question is:  does it make sense to use an alternate separator for
ids to solve this problem?  Is that even allowed?  Piyush found that
the colon separator is a constant defined in NamingContainer.

Thanks,

Joey


On 9/15/06, piyush hari <pi...@gmail.com> wrote:
> Hello,
>
> On a Pocket IE, a  form will not submit if a "tr:commandButton" is placed
> within a "tr:page". This is because the rendered html form gets an id in the
> format "a:b".  The colon ":" is appended as constant SEPARATOR_CHAR defined
> in class javax.faces.component.NamingContainer. Replacing a:b by a.b in an
> html works on a Pocket IE. Please advise on the right approach to solve this
> problem.
>
> -Piyush
>
>