[Zope] TAL and Javascript

David H bluepaul at earthlink.net
Wed Jun 29 13:30:26 EDT 2005


Rob,
As others have pointed out the approach you indicate will not work.
To summarize -
Write python script to dynamically create JAVASCRIPT code (you can 
format javascript arrays of data from your db this way). 

Then, using TAL load it in, eg
<head>
<tal:js replace="structure 
here/python/pythonThatCreatedJavaScript">javascript here</tal:js>
</head>

Which is then callable from the other javascript routines in your page.

David



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]
>  // create options for select 2
>}
></script>
>[various html...]
><select id="select1" onChange="makeDropDown()">
>[options...]
></select>
>
>I've tried with multiple scripts, where one has tal:content=... but
>cannot figure out how the TALES expression can get at what my
>javascript gets from an event. I haven't done much with JavaScript
>inside Page Templates, so perhaps I'm going about this all wrong.
>
>TIA,
>Rob
>
>
>
>	
>



More information about the Zope mailing list