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 -~----------~----~----~----~------~----~------~--~---