[Seaside] JQuery load question

jtuchel at objektfabrik.de jtuchel at objektfabrik.de
Mon May 19 13:12:07 UTC 2014


Hi Johan,

your suggestion looks very similar to what I had in mind, apart from the 
fact that you don't use onComplete:. So I suggest there is something to 
learn in this for me. I thought I'd have to use (the deprecated) 
onComplete: block with the Ajax object just to make sure the ajax 
callback is finished before I update the input field. So using your code 
and my idea it would look more like this:


(html jQuery ajax
	script: [:s | myModel doSomething];
	onComplete: [:s|  s << ((s jQuery id: #foo) value: myModel displayString)

(I just edited your code, there might be typos or errors in it).

So I'd be interested in your thoughts on this since I am still a very 
early stage learner in this area....

Joachim


Am 19.05.14 15:06, schrieb Johan Brichau:
> Hi Sven,
>
> In theory, you can still use load and render the entire input field again.
> But you are right that setting the value of the input field is a better approach because replacing the entire field often messes with the keyboard focus.
>
> What you need is a script callback:
>
> (html jQuery ajax script: [:s | myModel doSomething. s << ((s jQuery id: #foo) value: myModel displayString)]
>
> I hope this is what you were looking for.
>
> Johan
>
> On 19 May 2014, at 14:59, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>
>> Hi,
>>
>> I had some code that worked fine using JQuery's load functionality:
>>
>> html div id: #foo
>>
>> html button
>>   bePush;
>>   onClick: ((html jQuery id: #foo) load html: [ :h |
>>     myModel doSomething.
>>     h render: myModel displayString ]);
>>   with: 'Do Something'
>>
>> Now, I switched #foo to a form input:
>>
>> html textInput id: #foo
>>
>> But then I should use #value: and not replace the HTML so I can't use load anymore.
>>
>> I don't seem to be able to write this but I am a real beginner here. Anyone ?
>>
>> Thx,
>>
>> Sven
>>
>> PS: the data coming back is just a string, not HTML.
>>
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>


-- 
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:jtuchel at objektfabrik.de
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1



More information about the seaside mailing list