On Wed, Aug 13, 2008 at 12:16 PM, Rottstock, Sven
<[EMAIL PROTECTED]> wrote:
> Hi Matthias,
>
> thank you for your answer. I have tried to add the DOM replacement listener 
> but it wasn't invoked in my case. It seems to be a difference between a 
> simple partial submit and a partial submit with a resulting refresh of the 
> page (because of the navigation rule). I have also added a 
> tr:selectManyListbox with autoSubmit="true". When I click on an item of the 
> listbox the DOM replacment listener is invoked. So theoretically it should 
> work...

ok, another thing you may try:

provide a JS function in your page, like

function doSomeNiceStuff(...);

and in the action method do this:


    ExtendedRenderKitService erks = Service
      .getRenderKitService(facesContext, ExtendedRenderKitService.class);


erks.addScript(facesContext, "doSomeNiceStuff(....)");


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

Reply via email to