No, this is the old way ...I am unsure how to invoke the ajax method
-- could you enlighten me?


On Aug 17, 12:26 pm, "marius d." <marius.dan...@gmail.com> wrote:
> I don't see in your code the use of the overloaded ajaxText that I
> posted. Have you tried it?
>
> Marius
>
> On Aug 17, 10:20 pm, g-man <gregor...@gmail.com> wrote:
>
> > OK, thanks for checking back...
>
> > Snippet:
> > swappable(<span class='dueon'>{task.dueOn.toString}</span>,
> >               <span class='chgDueon'>{ajaxText(task.dueOn.toString,
> >                   v => { task.dueOn(v.toLong).save; reDrawTasks();
> >                   }) % ("size" -> "10")}</span>)
>
> > JS:
> > $chgDueon // jQuery selection for text field
> >     .datepicker({dateFormat:'m-d-yy', minDate: +1})
> >     .blur(function(){$chgDueon.val(parseDate($chgDueon.val()));});
> > // works well to pick a new date and change it to millis for save
>
> > Emitted XHTML:
> > <span>
> >    <span class="dueon" id="F111290299287IBE"
> >        onclick="jQuery('#'+'F111290299287IBE').hide();
> >           jQuery('#'+'F1112902992880KN').show().each(function(i) {
> >               var t = this; setTimeout(function() { t.focus(); },
> > 200);});return false;;">
> >        1248493271843</span>
> >    <span style="display: none" id="F1112902992880KN"
> >       onblur="jQuery('#'+'F111290299287IBE').show();
> >           jQuery('#'+'F1112902992880KN').hide();">
> >       <input onblur="lift_ajaxHandler('F111290299286DL1=' +
> >          encodeURIComponent(this.value), null, null)"
> >          type="text" value="1248493271843"
> >          onkeypress="lift_blurIfReturn(event)" size="10" />
> >     </span>
> > </span>
>
> > So, all the parts work well together, but Lift's ajax just takes off
> > too quickly, and cannot read the new value.
>
> > On Aug 16, 11:02 pm, "marius d." <marius.dan...@gmail.com> wrote:
>
> > > You can probably use this definition of ajaxText:
>
> > > def ajaxText(value: String, jsFunc: Call, func: String => JsCmd)
>
> > > See the jsFunc parameter. Essentially you are specifying your function
> > > call that may have one parameter. To your parameter list List we'll
> > > add a new parameter which is the ajax invocation function. In other
> > > words your code gets that function that does the ajax call meaning
> > > that you have the control over when the ajax call is made.
>
> > > Br's,
> > > Marius
>
> > > On Aug 17, 8:55 am, "marius d." <marius.dan...@gmail.com> wrote:
>
> > > > Would you please post a code snippet with what you're doing? (a
> > > > minimalistic example)
>
> > > > Br's,
> > > > Marius
>
> > > > On Aug 17, 7:41 am, g-man <gregor...@gmail.com> wrote:
>
> > > > > I am moving nicely with my 'save all dates as millis and let the
> > > > > client localize for display' project, learning while enhancing the
> > > > > ToDo sample app.
>
> > > > > I have added a 'dueOn' field, and that is displayed as swappable
> > > > > ajaxText, similar to the other fields in the tutorial.
>
> > > > > I have enabled datepicker for the ajaxText field via jQuery, and have
> > > > > a parsing function attached an event listener, so when datepicker
> > > > > finishes, the date is converted to millis, ready for Lift to send back
> > > > > to the server and save.
>
> > > > > So far, all good.
>
> > > > > The problem is that Lift's ajax starts ('onblur') before it has a
> > > > > chance to see the new date value, so the new value is never saved.
>
> > > > > What I need is a way to tell Lift to wait until after my parser has
> > > > > had a chance to write the changed value.
>
> > > > > I like the ajax style, so I don't want to make a 'submit' form, and
> > > > > 'onchange' won't do it either, because the value is actually changed
> > > > > twice (once to a formatted date, once to millis).
>
> > > > > What I need is some way to say, 'OK to start ajax now'!
--~--~---------~--~----~------------~-------~--~----~
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