There is also a related problem:
how can I have two ajax buttons on one form which submit the form and execute 
different functions on the server?

Using the "standard" trick:
SHtml.ajaxForm(bind(...) ++ SHtml.hidden(submitFunction)) 
won't work, as I want different functions executed for different buttons.

Adam

On Jan 10, 2010, at 10:42 AM, Adam Warski wrote:

> Hello,
> 
> thanks, but my use-case is a bit different.
> 
> I want the whole form to be still submitted using a POST (the "normal" way), 
> and only use ajax for a small fragment of the page (the element editor). So I 
> can't use ajaxForm(...), as this would make all submit buttons use ajax.
> 
> Adam
> 
> On Jan 9, 2010, at 3:55 PM, greekscala wrote:
> 
>> Hello,
>> 
>> I have a similar use case. For an AjaxForm you have to write:
>> SHtml.ajaxForm(
>>     bind("mytags", xml,
>>      // binding to your tags ...
>> 
>>       "submit" -> SHtml.submit("do it", save),
>>     ) ++ SHtml.hidden(save)
>>   )
>> 
>> You dont need to have a form element in your templates for this to
>> work
>> because ajaxForm will wrap the result of the bind method.
>> 
>> For my listelements checkbox, I attach to the checkbox a function,
>> that adds an Id and the
>> checkbox value to a ListBuffer[(Boolean, String)]. (checked and not
>> checked boxes are submittet)
>> 
>> Then I filter the List for the selected values a do what I have to do
>> with them.
>> I the above code example, my save method does some db stuff and then
>> returning
>> a JsCmds.SetHtml("an html id", some html/snippet nodeseq) for a
>> redraw.
>> 
>> Hope this helps a little
>> 
>> with best regards
>> 
>> On 9 Jan., 10:48, Adam Warski <a...@warski.org> wrote:
>>> Hello,
>>> 
>>> I have a regular form, which is submitted with a POST (no AJAX here yet). 
>>> The form contains a list, to which you can add and remove elements using 
>>> AJAX. So the add and remove buttons are:
>>> 
>>> "add" -> ajaxButton("Add element", () => { elements += new Element; reDraw 
>>> })
>>> 
>>> The "reDraw" method is a SetHtml for the whole form. Now this almost works, 
>>> with the exception that when I press the "add" button all other changes in 
>>> the form are discarded, as the form is not submitted. So, when the button 
>>> is pressed, I would need to submit the form using ajax and execute a given 
>>> function on the server. In the archives I found 
>>> SHtml.submitAjaxForm(formId) method, which I guess does what I need, but I 
>>> don't know how to combine it with an ajaxButton?
>>> 
>>> --
>>> Thanks,
>>> Adam
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Lift" group.
>> To post to this group, send email to lift...@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.
>> 
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Lift" group.
> To post to this group, send email to lift...@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.
> 
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@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