[Seaside] Some harder questions

Jim Benson jb@speed.net
Tue, 11 Jun 2002 20:21:42 -0700


Usually I just ask simple questions. I've been playing by the Seaside for
the last couple of weeks. It's been very entertaining.

Now it's time to buckle down and get to work.

I have an application in mind. Basically, it's a three pane browser, two
scrolling lists side by side in the upper pane, and a text area in the lower
half of the window, similar in concept to the Squeak browser at:

http://swiki.gsug.org:8888/browser/

In the Squeak browser implementation, there's some javascript in there to
help, and it uses frames (Avi close your eyes).

My first thought was to be sneaky and try to get away with just storing my
list items in a form with <select> <option> and then using an expression
like:

onchange="location.href=
&#13;&#10;(form.select.options[form.select.selectedIndex].value)

with the <select> statement being named "select". This would kind of
automagically take care of things for me, and doesn't seem overly onerous.
The problem with that is that Seaside kind of comandeers the name of the
select tag when it goes dynamic, so that it is difficult to refer to the
select statement by the name attribute. Of course, what I really want to do
is just submit the form, but I couldn't figure out how to do that. The
select tag is dynamic in the form:

html
^ #( ... ( form ...
     ( select  size: 10 name: '@sectionName/sectionList'
     ( option sea:id: sectionName '[sectionName.value.headerString]' ... )))

...)


So there are a couple questions here.

Is there a way to come up with "the magic browser" that is pure HTML, or
short of that, really simple nasty stuff I can spit out from the server
side?

What is the general case for doing this? Assuming that Seaside takes the
name attribute for itself, how do you latch onto it in those nasty other
languages? What about javascript in general, how do you deal with it from
the Seaside?

Jim