- From: John Boyer <boyerj@ca.ibm.com>
- Date: Tue, 12 Aug 2008 14:01:11 -0700
- To: Ulrich Nicolas Lissé <unl@dreamlab.net>
- Cc: Mark Birbeck <mark.birbeck@webbackplane.com>, public-forms <public-forms@w3.org>
- Message-ID: <OF62695D7B.AB3FDB7A-ON882574A3.00732B6A-882574A3.0073774F@ca.ibm.com>
I thought the point of the ID magic was exactly so that you didn't have to think about it. It just does intelligently what is most likely what the form author meant. Does it really make sense to try to focus the event target? What if a sequence of actions is grouped together and invoked from multiple locations using dispatch? It seems an odd thing to see <setfocus/> without any indication of what the focus is being set to. -1 from me. John M. Boyer, Ph.D. Senior Technical Staff Member Lotus Forms Architect and Researcher Chair, W3C Forms Working Group Workplace, Portal and Collaboration Software IBM Victoria Software Lab E-Mail: boyerj@ca.ibm.com Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer Blog RSS feed: http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw From: Ulrich Nicolas Lissé <unl@dreamlab.net> To: Mark Birbeck <mark.birbeck@webbackplane.com> Cc: public-forms <public-forms@w3.org> Date: 08/12/2008 01:04 PM Subject: Re: Allow xf:setfocus with no @control to set the focus to the event target Mark, +1 from me. Makes it easy to set focus within repeats without needing to understand id magic. Regards, Uli. Mark Birbeck wrote: > Hello all, > > I was just looking something up in the spec, and noticed that if > @control is omitted from the use of xf:setfocus then nothing happens. > > It occurred to me that omitting @control and defaulting to the event > target might actually be a useful pattern. > > This example is a little contrived, because I've only just thought of > the whole thing, but bear with me.... > > Ordinarily, setting focus on a control when it is invalid could be > done like this: > > <xf:input id="me" ref="x"> > <xf:label>X:</xf:label> > <xf:setfocus control="me" ev:event="xforms-invalid" /> > </xf:input> > > But that requires naming the control with an @id, and then ensuring > that the @control value and the control name are in sync. An easier > and more maintainable way would be: > > <xf:input ref="x"> > <xf:label>X:</xf:label> > <xf:setfocus ev:event="xforms-invalid" /> > </xf:input> > > If people don't like simply omitting @control, an alternative would be: > > <xf:input ref="x"> > <xf:label>X:</xf:label> > <xf:setfocus control="" ev:event="xforms-invalid" /> > </xf:input> > > Regards, > > Mark > -- Ulrich Nicolas Lissé
Received on Tuesday, 12 August 2008 21:03:11 UTC