Yeah - it is working now. Thanks a lot, Matthias.
I have simply added the initialFocusId attribute in the tr:document element.
That references to a property in my bean.
Via
TrPage._autoSubmit(form.id, btn.id, evt, true,
_addFormParameter(null, 'search.lastFocusElemId', lastFocusElem.id));
is it possible to set the focus id in the action method. Unfortunately the
ExtendedRenderKitService erks = (ExtendedRenderKitService)Service
.getRenderKitService(fCtx, ExtendedRenderKitService.class);
erks.addScript(fCtx, "_setFocus("+focusId+");");
was not working for me :-(
Anyway - now it works like expected.
>
JETZT ANMELDEN: SunGard FINANZ-TAG 2008 . www.sungard.de/finanztag
Complexity, Compliance & Cost: Globale Herausforderungen und lokale Lösungen
22. Oktober 2008 . Frankfurt am Main
_______________________________
Think before you print
CONFIDENTIALITY: This e-mail (including any attachments) may contain
confidential, proprietary and privileged information, and unauthorized
disclosure or use is prohibited. If you receive this e-mail in error, please
notify the sender and delete this e-mail from your system.
SunGard Systeme GmbH Registered Frankfurt am Main, Handelsregister Frankfurt
HRB 56839 Geschäftsführer Harold Finders, Thorsten Junike, Dr. Dirk Lüth,
Michael Joseph Ruane, Victoria Elizabeth Silbey
-----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
> Auftrag von Matthias Wessendorf
> Gesendet: Mittwoch, 13. August 2008 13:09
> An: MyFaces Discussion
> Betreff: Re: [Trinidad] set focus after partial submit
>
> On Wed, Aug 13, 2008 at 1:01 PM, Rottstock, Sven
> <[EMAIL PROTECTED]> wrote:
> > Ok - I can test it. But it should be the same when I add an
> "onload" attribute to the tr:document, isn't it?
> that would always invoke the func. I understood it like you
> only want it sometimes.
> > Another thing is how can I store the JavaScript variable
> 'lastFocusElem'? Of course, I can store it in my backing
> bean...but I don't know if it is a good option.
>
> Perhaps you want to use
> "TrPage.getInstance().sendPartialFormPost(.........)" for
> doing the PPR postback:
>
> /**
> * Post the form for partial postback. Supports both standard AJAX
> * posts and, for multipart/form posts, IFRAME-based transmission.
> * @param actionForm{FormElement} the HTML form to post
> * @param params{Object} additional parameters to send
> * @param headerParams{Object} HTTP headers to include (ignored if
> * the request must be a multipart/form post)
> */
> TrPage.getInstance().sendPartialFormPost(
> theForm,
> {param1: "value1", param2: "value2"},
> {header1: "headerValue1", header2: "headerValue2"});
>
>
> so, you can pass in some args.
>
> -M
>
> >
> >>
> > JETZT ANMELDEN: SunGard FINANZ-TAG 2008 . www.sungard.de/finanztag
> > Complexity, Compliance & Cost: Globale Herausforderungen und lokale
> > Lösungen 22. Oktober 2008 . Frankfurt am Main
> >
> > _______________________________
> > Think before you print
> > CONFIDENTIALITY: This e-mail (including any attachments)
> may contain confidential, proprietary and privileged
> information, and unauthorized disclosure or use is
> prohibited. If you receive this e-mail in error, please
> notify the sender and delete this e-mail from your system.
> >
> > SunGard Systeme GmbH Registered Frankfurt am Main, Handelsregister
> > Frankfurt HRB 56839 Geschäftsführer Harold Finders,
> Thorsten Junike,
> > Dr. Dirk Lüth, Michael Joseph Ruane, Victoria Elizabeth Silbey
> >
> > -----Ursprüngliche Nachricht-----
> >> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Im Auftrag
> >> von Matthias Wessendorf
> >> Gesendet: Mittwoch, 13. August 2008 12:46
> >> An: MyFaces Discussion
> >> Betreff: Re: [Trinidad] set focus after partial submit
> >>
> >> > erks.addScript(facesContext, "doSomeNiceStuff(....)");
> >>
> >> you even can "add" the function (to do the element.focus)
> dynamically.
> >>
> >> -M
> >>
> >> >
> >> >
> >> > at the very end of the (ajax) response a <script> tag is added,
> >> >
> >> > like
> >> >
> >> > <script id....>doSomeNiceStuff(....)</script>
> >> >
> >> > this should work
> >> >>
> >> >> Regards,
> >> >>
> >> >> Sven
> >> >>
> >> >>>
> >> >> JETZT ANMELDEN: SunGard FINANZ-TAG 2008 .
> www.sungard.de/finanztag
> >> >> Complexity, Compliance & Cost: Globale Herausforderungen
> >> und lokale
> >> >> Lösungen 22. Oktober 2008 . Frankfurt am Main
> >> >>
> >> >> _______________________________
> >> >> Think before you print
> >> >> CONFIDENTIALITY: This e-mail (including any attachments)
> >> may contain confidential, proprietary and privileged
> information, and
> >> unauthorized disclosure or use is prohibited. If you receive this
> >> e-mail in error, please notify the sender and delete this
> e-mail from
> >> your system.
> >> >>
> >> >> SunGard Systeme GmbH Registered Frankfurt am Main,
> >> Handelsregister
> >> >> Frankfurt HRB 56839 Geschäftsführer Harold Finders,
> >> Thorsten Junike,
> >> >> Dr. Dirk Lüth, Michael Joseph Ruane, Victoria Elizabeth Silbey
> >> >>
> >> >> -----Ursprüngliche Nachricht-----
> >> >>> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> >> Im Auftrag
> >> >>> von Matthias Wessendorf
> >> >>> Gesendet: Mittwoch, 13. August 2008 11:34
> >> >>> An: MyFaces Discussion
> >> >>> Betreff: Re: [Trinidad] set focus after partial submit
> >> >>>
> >> >>> Sven,
> >> >>>
> >> >>> we have a dom-update-listener. From the Trinidad
> DevGuide ([1]).
> >> >>>
> >> >>> Trinidad also lets you get notified when DOM is
> replaced after an
> >> >>> AJAX response by adding a "DOM replace listener" on the page:
> >> >>>
> >> >>> function myCallback(oldDom, newDom) { ... }
> >> >>>
> >> >>> TrPage.getInstance().addDomReplaceListener(myCallback);
> >> >>>
> >> >>> The callback is passed two parameters: the old DOM
> >> element and the
> >> >>> new DOM element that is replacing it. This callback is
> >> invoked after
> >> >>> the replacement has happened. As with
> addStateChangeListener(), a
> >> >>> second argument can be passed if you need a "this" to be
> >> active when
> >> >>> your callback is notified.
> >> >>>
> >> >>>
> >> >>> So, when the ppr was handled by the Trinidad client
> >> engine and the
> >> >>> dom is replaced. you could "search" for an element, and call
> >> >>> "element.focus()".
> >> >>> Can you try that ?
> >> >>>
> >> >>> -Matthias
> >> >>>
> >> >>> [1] http://myfaces.apache.org/trinidad/devguide/ppr.html
> >> >>>
> >> >>> On Wed, Aug 13, 2008 at 11:28 AM, Rottstock, Sven
> >> >>> <[EMAIL PROTECTED]> wrote:
> >> >>> > I think I have figured out my issue but I don't know how I
> >> >>> can fix it.
> >> >>> > The problem is the action method. It returns an existing
> >> >>> navigation-rule so that the page is completely refreshed
> >> after the
> >> >>> partial submit is done. This is necessary because the
> >> table could be
> >> >>> changed (regarding of the column count).
> >> >>> >
> >> >>> > Regards,
> >> >>> >
> >> >>> > Sven
> >> >>> >
> >> >>> >>
> >> >>> > JETZT ANMELDEN: SunGard FINANZ-TAG 2008 .
> >> www.sungard.de/finanztag
> >> >>> > Complexity, Compliance & Cost: Globale Herausforderungen und
> >> >>> > lokale Lösungen 22. Oktober 2008 . Frankfurt am Main
> >> >>> >
> >> >>> > _______________________________ Think before you print
> >> >>> > CONFIDENTIALITY: This e-mail (including any attachments)
> >> >>> may contain confidential, proprietary and privileged
> information,
> >> >>> and unauthorized disclosure or use is prohibited. If
> you receive
> >> >>> this e-mail in error, please notify the sender and delete this
> >> >>> e-mail from your system.
> >> >>> >
> >> >>> > SunGard Systeme GmbH Registered Frankfurt am Main,
> >> >>> > Handelsregister Frankfurt HRB 56839 Geschäftsführer Harold
> >> >>> > Finders,
> >> >>> Thorsten Junike,
> >> >>> > Dr. Dirk Lüth, Michael Joseph Ruane, Victoria
> Elizabeth Silbey
> >> >>> >
> >> >>> > -----Ursprüngliche Nachricht-----
> >> >>> >> Von: Rottstock, Sven [mailto:[EMAIL PROTECTED]
> >> >>> >> Gesendet: Mittwoch, 13. August 2008 10:26
> >> >>> >> An: MyFaces Discussion
> >> >>> >> Betreff: [Trinidad] set focus after partial submit
> >> >>> >>
> >> >>> >> Hi,
> >> >>> >>
> >> >>> >> i have the following JavaScript code that should execute a
> >> >>> >> partial submit. After the response is completed the
> >> focus should
> >> >>> >> be set on the input element that have triggered the request.
> >> >>> >>
> >> >>> >> <tr:inputText label="#{bundle.searchPattern}"
> >> >>> >> value="#{myBean.searchPattern}"
> >> >>> >> onkeyup="clickButton_afterEnter(event, submitBtn,
> this);" />
> >> >>> >>
> >> >>> >> <tr:commandButton id="submitSearch"
> >> >>> action="#{myBean.executeSearch}"
> >> >>> >> text="#{bundle.search}" partialSubmit="true" />
> >> >>> >>
> >> >>> >> <tr:table partialTriggers="submitSearch"
> >> >>> value="#{myBean.tableData}">
> >> >>> >> <!-- my columns goes here --> </tr:table>
> >> >>> >>
> >> >>> >> <script type="text/javascript" language="javascript">
> >> >>> >> // <![CDATA[
> >> >>> >> var submitBtn =
> >> window.document.getElementById("submitSearch");
> >> >>> >> var lastFocusElem = null;
> >> >>> >>
> >> >>> >> function setFocus(state)
> >> >>> >> {
> >> >>> >> if(state != TrRequestQueue.STATE_BUSY)
> >> >>> >> {
> >> >>> >> if(lastFocusElem != null)
> >> >>> >> {
> >> >>> >> lastFocusElem.focus();
> >> >>> >> lastFocusElem = null;
> >> >>> >> }
> >> >>> >>
> >> >>> >>
> TrPage.getInstance().getRequestQueue().removeStateChangeListen
> >> >>> >> er(setFocu
> >> >>> >> s);
> >> >>> >> }
> >> >>> >> }
> >> >>> >>
> >> >>> >> function clickButton_afterEnter(evt, button, source)
> >> >>> >> {
> >> >>> >> evt = (evt) ? evt : (window.event) ?
> window.event : "";
> >> >>> >> var keycode = evt.which ? evt.which : (evt.keyCode) ?
> >> >>> >> evt.keyCode
> >> >>> >> : window.event.keyCode;
> >> >>> >> if(keycode == 13)
> >> >>> >> {
> >> >>> >> var btn = (button == null) ? submitBtn : button;
> >> >>> >> var form = document.forms[0];
> >> >>> >> if(btn != null && form != null)
> >> >>> >> {
> >> >>> >> lastFocusElem = source;
> >> >>> >>
> >> >>> >>
> TrPage.getInstance().getRequestQueue().addStateChangeListener(
> >> >>> >> setFocus);
> >> >>> >> TrPage._autoSubmit(form.id, btn.id, evt, true, 0);
> >> >>> >> }
> >> >>> >> }
> >> >>> >> }
> >> >>> >> // ]]>
> >> >>> >> </script>
> >> >>> >>
> >> >>> >> Unfortunately the focus is lost from the input
> field if I have
> >> >>> >> pressed the enter key and the response was completed.
> >> >>> >> Does anybody have an idea what is going wrong here?
> >> >>> >>
> >> >>> >> Regards,
> >> >>> >>
> >> >>> >> Sven
> >> >>> >>
> >> >>> >> JETZT ANMELDEN: SunGard FINANZ-TAG 2008 .
> >> >>> >> www.sungard.de/finanztag Complexity, Compliance & Cost:
> >> >>> >> Globale Herausforderungen und lokale Losungen 22. Oktober
> >> >>> >> 2008 . Frankfurt am Main
> >> >>> >>
> >> >>> >> _______________________________ Think before you print
> >> >>> >> CONFIDENTIALITY: This e-mail (including any attachments)
> >> >>> may contain
> >> >>> >> confidential, proprietary and privileged information, and
> >> >>> >> unauthorized disclosure or use is prohibited. If
> you receive
> >> >>> >> this e-mail in error, please notify the sender and
> delete this
> >> >>> e-mail from
> >> >>> >> your system.
> >> >>> >>
> >> >>> >> SunGard Systeme GmbH Registered Frankfurt am Main,
> >> >>> Handelsregister
> >> >>> >> Frankfurt HRB 56839 Geschaftsfuhrer Harold Finders,
> >> >>> Thorsten Junike,
> >> >>> >> Dr. Dirk Luth, Michael Joseph Ruane, Victoria
> Elizabeth Silbey
> >> >>> >>
> >> >>> >>
> >> >>> >>
> >> >>> >
> >> >>> >
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Matthias Wessendorf
> >> >>>
> >> >>> Need JSF and Web 2.0?
> >> >>> http://code.google.com/p/facesgoodies
> >> >>>
> >> >>> further stuff:
> >> >>> blog: http://matthiaswessendorf.wordpress.com/
> >> >>> sessions: http://www.slideshare.net/mwessendorf
> >> >>> mail: matzew-at-apache-dot-org
> >> >>>
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Matthias Wessendorf
> >> >
> >> > Need JSF and Web 2.0?
> >> > http://code.google.com/p/facesgoodies
> >> >
> >> > further stuff:
> >> > blog: http://matthiaswessendorf.wordpress.com/
> >> > sessions: http://www.slideshare.net/mwessendorf
> >> > mail: matzew-at-apache-dot-org
> >> >
> >>
> >>
> >>
> >> --
> >> Matthias Wessendorf
> >>
> >> Need JSF and Web 2.0?
> >> http://code.google.com/p/facesgoodies
> >>
> >> further stuff:
> >> blog: http://matthiaswessendorf.wordpress.com/
> >> sessions: http://www.slideshare.net/mwessendorf
> >> mail: matzew-at-apache-dot-org
> >>
> >
> >
>
>
>
> --
> Matthias Wessendorf
>
> Need JSF and Web 2.0?
> http://code.google.com/p/facesgoodies
>
> further stuff:
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> mail: matzew-at-apache-dot-org
>