[Zope] TAL and Javascript
J Cameron Cooper
zope-l at jcameroncooper.com
Wed Jun 29 13:13:56 EDT 2005
Rob Boyd wrote:
> I'm stuck this, and would appreciate help or pointers.
>
> I have a form with 2 selection drop-downs. I want the user's choice of
> select 1 to drive the options displayed in select 2. When the user
> makes a selection in select 1, onChange calls a Javascript function
> that should write select 2 options based on the result of a call to a
> Python script, passing the select 1 choice as an argument to the Python
> script.
>
> But: I cannot get the Javascript var into the namespace that the TALES
> expression knows about.
>
> Example:
>
> <script>
> function makeDropDown() {
> var widget = document.getElementById('select1');
> var choice = widget.options[widget.selectedIndex].value;
> var data = [result of calling Python script 'foo(arg)' with
> arg=choice]
This is impossible, at least in a single request. You are trying to mix
server-side and client-side actions.
You would have to make a new request on the server with the contents of
'choice' in order to get it processed. This can be done with XML-RPC or
some other options; look up 'AJAX' to get a feel for this.
Alternately, if you have a known list of values for 'choice' you could
generate all the 'data' values for each 'choice' value, encode them in
the page's javascript, and look them up client-side.
--jcc
--
"Building Websites with Plone"
http://plonebook.packtpub.com/
Enfold Systems, LLC
http://www.enfoldsystems.com
More information about the Zope
mailing list