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