Perfect, works as expected. Thanks again.

Cheers
Torsten

On Apr 7, 3:37 pm, "marius d." <marius.dan...@gmail.com> wrote:
> Note the SHtml.hidden function is defined as:
>
> def hidden(func: () => Any, attrs: (String, String)*): Elem =
> makeFormElement("hidden", NFuncHolder(func), attrs :_*) % ("value" ->
> "true")
>
> see that it automatically puts value = true.
>
> It used to accept a function like (String) => Any but I'm not sure why
> it doesn't anymore. Probably to "enforce" the usage of hidden fields
> to act as flags instead of actual data. Nonetheless I still think we
> should overload hidden function to accept the String value ..like:
>
> def hidden(func: (String) => Any, attrs: (String, String)*): Elem =
>
> Anyways in the mean time you can try something like:
>
> def hidden(func: (String) => Any, attrs: (String, String)*): Elem =
> S.fmapFunc(SFuncHolder(func))(funcName =>
>     attrs.foldLeft(<input type="hidden" name={funcName}/>)(_ % _))
>
> and now your function should receive the actual value specified in the
> hidden field. Note that I didn't test the above function :D ... let me
> know if it works for you.
>
> Br's,
> Marius
>
> On Apr 7, 3:15 pm, wapgui <torsten.schm...@wapgui.com> wrote:
>
> > Thanks for the reply I found the js solution this night too, but the
> > delivery of messages on google groups seems to be very slow (Now 6
> > hours pending).
> > Now I have only left one little problem.
> > This should give me the value : "color" -> hidden(() => fp.color) %
> > ("id" -> "color"). But it's empty and the definition of hidden allows
> > only () => fp.color not fp.color = _ like on text for example. May be
> > my scala skill is not good enough to find a solution.
>
> > Cheers
> > Torsten
>
> > On Apr 7, 8:56 am, "marius d." <marius.dan...@gmail.com> wrote:
>
> > > On Apr 6, 10:05 pm, wapgui <torsten.schm...@wapgui.com> wrote:
>
> > > > Did you mean something like that ?
> > > > "color" -> hidden(() => fp.color) % ("id" -> "color")
>
> > > Yes
>
> > > > But how can I get the value of the "color" and how to set the value
> > > > via js if the form has no name and the name of the input is generated.
>
> > > > <form method="post" action="/">
> > > >                 <input value="true" type="hidden" 
> > > > name="F9112749168471LP"
> > > > id="color" /><br />
>
> > > Well knowing the unique node id you don't need the form's name or id.
> > > you can just say:
>
> > > $("#color").attr("value", "some value") ... using JQuery
>
> > > or raw JavaScript
>
> > > document.getElementById("color").value = "some value";
>
> > > or using Lift's abstractions
>
> > > JsCmds.SetValById("color", "some value") ... but you need to use this
> > > in the context where a JsExp/JsCmd is appropriate (JS events, return a
> > > JavaScript as a result of an Ajax call etc)
>
> > > > It's all so difficult if there are no examples. But I will post my
> > > > small experience on my website to help other newbies.
>
> > > No worries it is good to ask questions.
>
> > > > Cheers
> > > > Torsten
>
> > > > On Apr 6, 4:47 pm, "marius d." <marius.dan...@gmail.com> wrote:
>
> > > > > Well putting an id to the hidden field allows you to manipulate it via
> > > > > JavaScript.
>
> > > > > Br's,
> > > > > Marius
>
> > > > > On Apr 6, 5:01 pm, wapgui <torsten.schm...@wapgui.com> wrote:
>
> > > > > > Hi,
>
> > > > > > is there an equivalent in lift to the hidden input filed used in
> > > > > > forms. The SHtml.hidden is only for functions not for parameters, 
> > > > > > the
> > > > > > value is always true. I want set the hidden input via javascript.
>
> > > > > > Is there also a parameter for setting the name of the form itself?
>
> > > > > > Here the code:
>
> > > > > > object smlink extends RequestVar(Full(""))
>
> > > > > > var fp = new Widget()
>
> > > > > >   def show(xhtml: NodeSeq): NodeSeq = {
> > > > > >     val temp =
> > > > > >       if (smlink.isEmpty || smlink.open_!.length == 0) "" else
> > > > > > "Received: " + smlink.open_!
>
> > > > > >     bind("fp", xhtml,
> > > > > >       "color" -> hidden({() => fp.color}),
> > > > > >       "title" -> text(fp.title, fp.title = _) % ("size" -> "10") %
> > > > > > ("id" -> "title"),
> > > > > >       "url" -> text(fp.url, fp.url = _) % ("size" -> "56") % ("id" 
> > > > > > ->
> > > > > > "url"),
> > > > > >       "items" -> select((1 to 9).toList.reverse.map(v => 
> > > > > > (v.toString,
> > > > > > v.toString)),
> > > > > >                         Empty, fp.items = _),
> > > > > >       "submit" -> submit("Send", () => {
> > > > > >         Log.info("Submitted ")
> > > > > >         smlink(Full(fp.title))
> > > > > >       }),
> > > > > >       "link" -> <div>{temp}</div>
> > > > > >     )
> > > > > >   }
>
> > > > > > generates this:
>
> > > > > > <form method="post" action="/">
> > > > > >         <input name="F1142516722376UOU" type="hidden" value="true" 
> > > > > > /><br />
> > > > > >         <label for="title">Title</label>
> > > > > >         <input size="10" name="F1142516722377UCO" type="text" 
> > > > > > value=""
> > > > > > id="title" /><br />
> > > > > >         <label for="url">URL</label>
> > > > > >         <input size="56" name="F1142516722378IZS" type="text" 
> > > > > > value=""
> > > > > > id="url" /><br />
> > > > > >         <label for="items">Items</label>
> > > > > >         <select name="F1142516722379K2S"><option value="9">9</
> > > > > > option><option value="8">8</option><option 
> > > > > > value="7">7</option><option
> > > > > > value="6">6</option><option value="5">5</option><option 
> > > > > > value="4">4</
> > > > > > option><option value="3">3</option><option 
> > > > > > value="2">2</option><option
> > > > > > value="1">1</option></select><br />
> > > > > >         <input name="F1142516722380W2M" type="submit" value="Send" 
> > > > > > />
> > > > > >         <div></div>
> > > > > >         </form>
>
> > > > > > Cheers
> > > > > > Torsten

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

Reply via email to