[Seaside] Re: Seaside Async and form submission
Carl Gundel
carlg at libertybasic.com
Wed Feb 18 19:42:40 UTC 2009
On Feb 18, 2009, at 12:59 PM, Carl Gundel wrote:
> I'm using Async with my Run BASIC project. I am still using Seaside
> 2.6, but I plan to migrate forward as soon as I can get my Ajax
> stuff working okay. have a dynamically generated form with a couple
> of listboxes and an anchor. When the link is clicked I am expecting
> the values to get scraped from the controls and assigned to my
> model, but it doesn't seem to be happening. The form is getting
> built and rendered correctly as far as I can tell.
Okay, here is a complete tiny class that seems to exhibit the same
behavior. The counter increments when the anchor is clicked, but the
value of selection is always nil.
Any ideas?
-Carl
Smalltalk defineClass: #AsyncTest
superclass: #{Seaside.WAComponent}
indexedType: #none
private: false
instanceVariableNames: 'list selection counter '
classInstanceVariableNames: ''
imports: ''
category: 'Run BASIC'!
!AsyncTest class methodsFor: 'as yet unclassified'!
canBeRoot
^ true!
initialize
self registerAsApplication: 'asyncTest'.! !
!AsyncTest methodsFor: 'rendering'!
renderContentOn: html
self renderOnHtml: html!
rendererClass
^Seaside.WARenderCanvas!
renderOnHtml: html
| select anchor |
html
text: 'Async test';
break.
(html form)
id: 'testForm';
with:
[html
text: 'Counter = ' , self counter asString;
break.
(html div)
id: 'section';
with:
[select := html select.
select list: self list.
select on: #selection of: self.
anchor := html anchor.
anchor
liveCallback:
[:h |
self counter: counter + 1.
self renderOnHtml: h];
submitFormNamed: 'testForm';
text: 'test'.
html break.
html text: self selection]]! !
!AsyncTest methodsFor: 'accessing'!
counter
counter isNil ifTrue: [ counter := 0 ].
^counter!
counter: anObject
counter := anObject!
list
list isNil ifTrue: [ list := OrderedCollection with: '1' with: 'one'
with: 'won' with: 'Juan' ].
^list!
list: anObject
list := anObject!
selection
^selection!
selection: anObject
selection := anObject! !
#{AsyncTest} initialize!
More information about the seaside
mailing list