You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Rafael Nami <ra...@gmail.com> on 2005/12/01 12:36:19 UTC

Re: jsValueChangeListener - how to detect radio button selections

Did you tried using #{srcElem[2].checked ? 'true' : 'false'} instead of
$srcElem[2].checked ? 'true' : 'false' ??

Best Regards

Rafael Mauricio Nami

2005/11/30, Matthias Kahlau <mk...@web.de>:
>
> Hi!
>
>
> I tried to use the t:jsValueChangeListener to react, when a specific radio
> button is selected or deselected, but got the following errors in the
> Firefox 1.0 JavaScript console (but didn't also work in Internet Explorer
> 6):
>
>
> uncaught exception: Error encountered : srcElem has no properties
> undefinedSource-Element id: _id1:ergPubBeginnRadios
> Source-element: null
> Type of source-element: object
>
>
> I used the following approach inside a selectOneRadio (with
> id="ergPubBeginnRadios") just to test:
>
> <t:jsValueChangeListener for="inputTextId"
>         property="value"
>                 expressionValue="$srcElem[2].checked ? 'true' : 'false'"
> />
>
>
> Does anybody know what's wrong?
>
>
> Regards,
> Matthias
>
>

Re: jsValueChangeListener - how to detect radio button selections

Posted by Martin Marinschek <ma...@gmail.com>.
Oh, right.

I implemented this. My brain is a sieve.

;)

Anyways, don't go with #{}, that's wrong here!

regards,

Martin

On 12/1/05, Matthias Kahlau <mk...@web.de> wrote:
> Hi Martin!
>
>
> As I know from the example 1 of the Apache MyFaces jsValueChangeListener Web
> site, I don't need to use the $destElem to achieve a change in the target
> element:
>
> Example 1
> Suppose we have two text fields on a page. We would like to keep the value
> of the second text field in sync with the value of the first. This can be
> accomplised with the following code:
>
>                <h:inputText id="text1">
>                    <t:jsValueChangeListener for="text2" property="value"
>                                                expressionValue="$srcElem.va
> lue" />
>                </h:inputText>
>                <h:inputText id="text2"/>
>
> When the value of text1 changes, the 'onchange' event is triggered. The
> javascript expression specified by 'expressionValue' is evaluated, and the
> result is assigned to the specified property (in this case, 'value') of the
> target control.
>
>
> But I don't need to use JavaScript at the moment because of changing
> requirements, so that's not an acute problem I'm working on. That's why I
> won't debug the JavaScript for the moment, maybe it will be necessary
> later...
>
>
>
> Regards,
> Matthias
>
> > -----Ursprüngliche Nachricht-----
> > Von: users-return-13114-mkahlau=web.de@myfaces.apache.org
> > [mailto:users-return-13114-mkahlau=web.de@myfaces.apache.org]Im Auftrag
> > von Martin Marinschek
> > Gesendet: Donnerstag, 1. Dezember 2005 19:47
> > An: MyFaces Discussion
> > Betreff: Re: jsValueChangeListener - how to detect radio button
> > selections
> >
> >
> > no, no, it's surely not the expression syntax you need to use. This
> > would be evaluated in the Faces-Subsystem, not by JavaScript.
> >
> > I wonder from your expression what you want to achieve - you'll need
> > to set something to a destElem for the listener to make sense.
> >
> > In any case, your original string was correct, obviously it doesn't
> > make any sense with the rest of your component tree, though.
> >
> > Fire up your JavaScript debugger and step into
> >
> > JSListener.js
> >
> > function orgApacheMyfacesJsListenerSetExpressionProperty(
> >     srcId, destId, property, expression)
> > {
> >
> > to find out what happens.
> >
> > regards,
> >
> > Martin
> >
> > On 12/1/05, Matthias Kahlau <mk...@web.de> wrote:
> > > Hi Rafael,
> > >
> > >
> > > you're right, the JSF EL syntax must be used. The information on the
> > > jsValueChangeListener Web page of the Apache MyFaces Web site seems
> > > out-dated or obsolete:
> > >
> > > http://myfaces.apache.org/tomahawk/javascriptListener.html
> > >
> > > But despite of using the JSF EL syntax, the approach used to
> > react to value
> > > change events of radio button selections seems not to work. The
> > first click
> > > shows a reaction, setting false in the inputText. All following
> > selections
> > > doesn't change the inputText - true can never be set in the inputText,
> > > although the selectOneRadio, which is the parent of the
> > > jsValueChangeListener, has 4 radio buttons.
> > >
> > >
> > > <t:jsValueChangeListener for="inputTextId"
> > >     property="value"
> > >     expressionValue="#{srcElem[2].checked ? 'true' :
> > > 'false'}" />
> > >
> > >
> > > Regards,
> > > Matthias
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: users-return-13087-mkahlau=web.de@myfaces.apache.org
> > > [mailto:users-return-13087-mkahlau=web.de@myfaces.apache.org]Im
> > > Auftrag von Rafael Nami
> > > Gesendet: Donnerstag, 1. Dezember 2005 12:36
> > > An: MyFaces Discussion
> > > Betreff: Re: jsValueChangeListener - how to detect radio button
> > selections
> > >
> > > Did you tried using #{srcElem[2].checked ? 'true' : 'false'} instead of
> > > $srcElem[2].checked ? 'true' : 'false' ??
> > >
> > > Best Regards
> > >
> > > Rafael Mauricio Nami
> > >
> > > 2005/11/30, Matthias Kahlau <mk...@web.de>:
> > > > Hi!
> > > >
> > > >
> > > > I tried to use the t:jsValueChangeListener to react, when a
> > specific radio
> > > > button is selected or deselected, but got the following errors in the
> > > > Firefox 1.0 JavaScript console (but didn't also work in
> > Internet Explorer
> > > > 6):
> > > >
> > > >
> > > > uncaught exception: Error encountered : srcElem has no properties
> > > > undefinedSource-Element id: _id1:ergPubBeginnRadios
> > > > Source-element: null
> > > > Type of source-element: object
> > > >
> > > >
> > > > I used the following approach inside a selectOneRadio (with
> > > > id="ergPubBeginnRadios") just to test:
> > > >
> > > > <t:jsValueChangeListener for="inputTextId"
> > > >         property="value"
> > > >                 expressionValue="$srcElem[2].checked ?
> > > 'true' : 'false'" />
> > > >
> > > >
> > > > Does anybody know what's wrong?
> > > >
> > > >
> > > > Regards,
> > > > Matthias
> > > >
> > > >
> > >
> > >
> >
> >
> > --
> >
> > http://www.irian.at
> >
> > Your JSF powerhouse -
> > JSF Consulting, Development and
> > Courses in English and German
> >
> > Professional Support for Apache MyFaces
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

AW: jsValueChangeListener - how to detect radio button selections

Posted by Matthias Kahlau <mk...@web.de>.
Hi Martin!


As I know from the example 1 of the Apache MyFaces jsValueChangeListener Web
site, I don't need to use the $destElem to achieve a change in the target
element:

Example 1
Suppose we have two text fields on a page. We would like to keep the value
of the second text field in sync with the value of the first. This can be
accomplised with the following code:

                <h:inputText id="text1">
                    <t:jsValueChangeListener for="text2" property="value"
                                                expressionValue="$srcElem.va
lue" />
                </h:inputText>
                <h:inputText id="text2"/>

When the value of text1 changes, the 'onchange' event is triggered. The
javascript expression specified by 'expressionValue' is evaluated, and the
result is assigned to the specified property (in this case, 'value') of the
target control.


But I don't need to use JavaScript at the moment because of changing
requirements, so that's not an acute problem I'm working on. That's why I
won't debug the JavaScript for the moment, maybe it will be necessary
later...



Regards,
Matthias

> -----Ursprüngliche Nachricht-----
> Von: users-return-13114-mkahlau=web.de@myfaces.apache.org
> [mailto:users-return-13114-mkahlau=web.de@myfaces.apache.org]Im Auftrag
> von Martin Marinschek
> Gesendet: Donnerstag, 1. Dezember 2005 19:47
> An: MyFaces Discussion
> Betreff: Re: jsValueChangeListener - how to detect radio button
> selections
>
>
> no, no, it's surely not the expression syntax you need to use. This
> would be evaluated in the Faces-Subsystem, not by JavaScript.
>
> I wonder from your expression what you want to achieve - you'll need
> to set something to a destElem for the listener to make sense.
>
> In any case, your original string was correct, obviously it doesn't
> make any sense with the rest of your component tree, though.
>
> Fire up your JavaScript debugger and step into
>
> JSListener.js
>
> function orgApacheMyfacesJsListenerSetExpressionProperty(
>     srcId, destId, property, expression)
> {
>
> to find out what happens.
>
> regards,
>
> Martin
>
> On 12/1/05, Matthias Kahlau <mk...@web.de> wrote:
> > Hi Rafael,
> >
> >
> > you're right, the JSF EL syntax must be used. The information on the
> > jsValueChangeListener Web page of the Apache MyFaces Web site seems
> > out-dated or obsolete:
> >
> > http://myfaces.apache.org/tomahawk/javascriptListener.html
> >
> > But despite of using the JSF EL syntax, the approach used to
> react to value
> > change events of radio button selections seems not to work. The
> first click
> > shows a reaction, setting false in the inputText. All following
> selections
> > doesn't change the inputText - true can never be set in the inputText,
> > although the selectOneRadio, which is the parent of the
> > jsValueChangeListener, has 4 radio buttons.
> >
> >
> > <t:jsValueChangeListener for="inputTextId"
> >     property="value"
> >     expressionValue="#{srcElem[2].checked ? 'true' :
> > 'false'}" />
> >
> >
> > Regards,
> > Matthias
> >
> > -----Ursprüngliche Nachricht-----
> > Von: users-return-13087-mkahlau=web.de@myfaces.apache.org
> > [mailto:users-return-13087-mkahlau=web.de@myfaces.apache.org]Im
> > Auftrag von Rafael Nami
> > Gesendet: Donnerstag, 1. Dezember 2005 12:36
> > An: MyFaces Discussion
> > Betreff: Re: jsValueChangeListener - how to detect radio button
> selections
> >
> > Did you tried using #{srcElem[2].checked ? 'true' : 'false'} instead of
> > $srcElem[2].checked ? 'true' : 'false' ??
> >
> > Best Regards
> >
> > Rafael Mauricio Nami
> >
> > 2005/11/30, Matthias Kahlau <mk...@web.de>:
> > > Hi!
> > >
> > >
> > > I tried to use the t:jsValueChangeListener to react, when a
> specific radio
> > > button is selected or deselected, but got the following errors in the
> > > Firefox 1.0 JavaScript console (but didn't also work in
> Internet Explorer
> > > 6):
> > >
> > >
> > > uncaught exception: Error encountered : srcElem has no properties
> > > undefinedSource-Element id: _id1:ergPubBeginnRadios
> > > Source-element: null
> > > Type of source-element: object
> > >
> > >
> > > I used the following approach inside a selectOneRadio (with
> > > id="ergPubBeginnRadios") just to test:
> > >
> > > <t:jsValueChangeListener for="inputTextId"
> > >         property="value"
> > >                 expressionValue="$srcElem[2].checked ?
> > 'true' : 'false'" />
> > >
> > >
> > > Does anybody know what's wrong?
> > >
> > >
> > > Regards,
> > > Matthias
> > >
> > >
> >
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces


Re: jsValueChangeListener - how to detect radio button selections

Posted by Martin Marinschek <ma...@gmail.com>.
no, no, it's surely not the expression syntax you need to use. This
would be evaluated in the Faces-Subsystem, not by JavaScript.

I wonder from your expression what you want to achieve - you'll need
to set something to a destElem for the listener to make sense.

In any case, your original string was correct, obviously it doesn't
make any sense with the rest of your component tree, though.

Fire up your JavaScript debugger and step into

JSListener.js

function orgApacheMyfacesJsListenerSetExpressionProperty(
    srcId, destId, property, expression)
{

to find out what happens.

regards,

Martin

On 12/1/05, Matthias Kahlau <mk...@web.de> wrote:
> Hi Rafael,
>
>
> you're right, the JSF EL syntax must be used. The information on the
> jsValueChangeListener Web page of the Apache MyFaces Web site seems
> out-dated or obsolete:
>
> http://myfaces.apache.org/tomahawk/javascriptListener.html
>
> But despite of using the JSF EL syntax, the approach used to react to value
> change events of radio button selections seems not to work. The first click
> shows a reaction, setting false in the inputText. All following selections
> doesn't change the inputText - true can never be set in the inputText,
> although the selectOneRadio, which is the parent of the
> jsValueChangeListener, has 4 radio buttons.
>
>
> <t:jsValueChangeListener for="inputTextId"
>     property="value"
>     expressionValue="#{srcElem[2].checked ? 'true' :
> 'false'}" />
>
>
> Regards,
> Matthias
>
> -----Ursprüngliche Nachricht-----
> Von: users-return-13087-mkahlau=web.de@myfaces.apache.org
> [mailto:users-return-13087-mkahlau=web.de@myfaces.apache.org]Im
> Auftrag von Rafael Nami
> Gesendet: Donnerstag, 1. Dezember 2005 12:36
> An: MyFaces Discussion
> Betreff: Re: jsValueChangeListener - how to detect radio button selections
>
> Did you tried using #{srcElem[2].checked ? 'true' : 'false'} instead of
> $srcElem[2].checked ? 'true' : 'false' ??
>
> Best Regards
>
> Rafael Mauricio Nami
>
> 2005/11/30, Matthias Kahlau <mk...@web.de>:
> > Hi!
> >
> >
> > I tried to use the t:jsValueChangeListener to react, when a specific radio
> > button is selected or deselected, but got the following errors in the
> > Firefox 1.0 JavaScript console (but didn't also work in Internet Explorer
> > 6):
> >
> >
> > uncaught exception: Error encountered : srcElem has no properties
> > undefinedSource-Element id: _id1:ergPubBeginnRadios
> > Source-element: null
> > Type of source-element: object
> >
> >
> > I used the following approach inside a selectOneRadio (with
> > id="ergPubBeginnRadios") just to test:
> >
> > <t:jsValueChangeListener for="inputTextId"
> >         property="value"
> >                 expressionValue="$srcElem[2].checked ?
> 'true' : 'false'" />
> >
> >
> > Does anybody know what's wrong?
> >
> >
> > Regards,
> > Matthias
> >
> >
>
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

AW: jsValueChangeListener - how to detect radio button selections

Posted by Matthias Kahlau <mk...@web.de>.
Hi Rafael,


you're right, the JSF EL syntax must be used. The information on the
jsValueChangeListener Web page of the Apache MyFaces Web site seems
out-dated or obsolete:

http://myfaces.apache.org/tomahawk/javascriptListener.html

But despite of using the JSF EL syntax, the approach used to react to value
change events of radio button selections seems not to work. The first click
shows a reaction, setting false in the inputText. All following selections
doesn't change the inputText - true can never be set in the inputText,
although the selectOneRadio, which is the parent of the
jsValueChangeListener, has 4 radio buttons.


<t:jsValueChangeListener for="inputTextId"
    property="value"
    expressionValue="#{srcElem[2].checked ? 'true' : 'false'}" />


Regards,
Matthias

  -----Ursprüngliche Nachricht-----
  Von: users-return-13087-mkahlau=web.de@myfaces.apache.org
[mailto:users-return-13087-mkahlau=web.de@myfaces.apache.org]Im Auftrag von
Rafael Nami
  Gesendet: Donnerstag, 1. Dezember 2005 12:36
  An: MyFaces Discussion
  Betreff: Re: jsValueChangeListener - how to detect radio button selections


  Did you tried using #{srcElem[2].checked ? 'true' : 'false'} instead of
$srcElem[2].checked ? 'true' : 'false' ??

  Best Regards

  Rafael Mauricio Nami


  2005/11/30, Matthias Kahlau <mk...@web.de>:
    Hi!


    I tried to use the t:jsValueChangeListener to react, when a specific
radio
    button is selected or deselected, but got the following errors in the
    Firefox 1.0 JavaScript console (but didn't also work in Internet
Explorer
    6):


    uncaught exception: Error encountered : srcElem has no properties
    undefinedSource-Element id: _id1:ergPubBeginnRadios
    Source-element: null
    Type of source-element: object


    I used the following approach inside a selectOneRadio (with
    id="ergPubBeginnRadios") just to test:

    <t:jsValueChangeListener for="inputTextId"
            property="value"
                    expressionValue="$srcElem[2].checked ? 'true' : 'false'"
/>


    Does anybody know what's wrong?


    Regards,
    Matthias