Good point. You could do all the label stuff in the template, which is probably easier.
Chas. Dmitry Lipovoi wrote: > ... or You can set element's id manually in template: > > <lift:someSnippet form="post"> > <p> > <label for="username">Username</label> > <br/> > <f:username f:id="username"><input id="username" type="text" > name="username" value="username"/></f:url> > </p> > <p> > <f:submit><input type="submit" value="Do It!"/></f:submit> > </p> > </lift:someSnippet> > > > On Mon, Apr 13, 2009 at 11:58 PM, Charles F. Munat <c...@munat.com> wrote: >> The "for" attribute in the <label> element points at the <input> >> element's *id*, not it's name. Also, where is the label? You've got an >> element, but no label (unless I'm still asleep). >> >> http://www.w3.org/TR/html401/interact/forms.html#h-17.9.1 >> >> So this is actually quite easy: >> >> bind("login", xhtml, >> "username" -> <label for="username">Username {SHtml.text(username, >> username = _, ("id", "username"))}</label>, >> ... >> >> That names for the inputs are generated doesn't matter because the for >> attribute refers to the id, not the name. >> >> You could, of course, use David's method but add something that sets the >> id attribute = the name attribute since the name is going to be unique >> on the page. >> >> Chas. >> >> João Pereira wrote: >>> it's looks great and works great too. :) >>> >>> thank you >>> >>> On Mon, Apr 13, 2009 at 5:18 PM, David Pollak >>> <feeder.of.the.be...@gmail.com <mailto:feeder.of.the.be...@gmail.com>> >>> wrote: >>> >>> def label(in: Elem): NodeSeq = <label for={in \ "@name"} /> ++ in >>> >>> bind("login", xhtml, >>> "username" -> label(SHtml.text(username, username(_))) >>> >>> How does that look? >>> >>> 2009/4/13 João Pereira <joaomiguel.pere...@gmail.com >>> <mailto:joaomiguel.pere...@gmail.com>> >>> >>> Hello, >>> >>> I have the following snippet: >>> >>> HTML: >>> >>> <div id="login"><lift:login.login form="post"> >>> <login:username /> >>> <login:password /> >>> <login:submit /> >>> </lift:login.login></div> >>> >>> Scala: >>> >>> bind("login", xhtml, >>> "username"->SHtml.text(username,username(_)), >>> "password"->SHtml.text(password, password(_)), >>> "submit" ->SHtml.submit("login", authenticate)) >>> >>> >>> Rendered HTML is: >>> >>> <div id="login"><form method="post" action="/login"> >>> <input name="F1177922287215MUE" type="text" value="zxczxc" /> >>> <input name="F1177922287216DXQ" type="text" value="zxcczx" /> >>> <input name="F1177922287217EXX" type="submit" value="login" /> >>> </form></div> >>> >>> >>> What is the best strategy to have a <label for="..."> HTML tag >>> rendered for each input field? >>> >>> The desired output will be: >>> >>> <div id="login"><form method="post" action="/login"> >>> *<label for="F1177922287215MUE"/>* >>> <input name="F1177922287215MUE" type="text" value="zxczxc" /> >>> *<label for="F1177922287216DXQ"/>* >>> <input name="F1177922287216DXQ" type="text" value="zxcczx" /> >>> <input name="F1177922287217EXX" type="submit" value="login" /> >>> </form></div> >>> >>> >>> thanks >>> -- >>> João Miguel Pereira, PMP >>> http://jpereira.eu >>> http://www.linkedin.com/in/joaomiguelpereira >>> joaomiguel.pere...@gmail.com <mailto:joaomiguel.pere...@gmail.com> >>> (351) 96 275 68 58 >>> >>> >>> >>> >>> >>> -- >>> Lift, the simply functional web framework http://liftweb.net >>> Beginning Scala http://www.apress.com/book/view/1430219890 >>> Follow me: http://twitter.com/dpp >>> Git some: http://github.com/dpp >>> >>> >>> >>> >>> >>> -- >>> João Miguel Pereira, PMP >>> http://jpereira.eu >>> http://www.linkedin.com/in/joaomiguelpereira >>> joaomiguel.pere...@gmail.com <mailto:joaomiguel.pere...@gmail.com> >>> (351) 96 275 68 58 >>> > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---