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 <[email protected]> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.