On 25/05/05, Dennis Allison <[EMAIL PROTECTED]> wrote:
> 
> We have a need to set a session variable concurrently with a
> user submitting a form on a mouse click.  I accomplish this with
> a bit of JavaScript associated with the OnClick attribute of the
> form:
> 
>   location.replace('/setSesVar?var=nams&val=xxx;frm.submit();
> 
> which does the job except that the setSesVar script is executed twice, a
> fact we discovered by monitoring calls to the setSesVar script.  Once with
> an incorrect parameter, and secondly with a correct parameter.
> 
> There is probably some obvious explanation, but I am stumped.  Setting
> invalid values into session variables, even transient invalid values, can
> cause problems.

That JavaScript will never work properly. What you're doing is telling
the browser to go to a new page, then submit the form. However, the
form is no longer there, because you're on the new page. The behaviour
you're seeing is probably caused by the browser getting completely
confused.

Why aren't you doing this in the server side script that the form
calls? It makes more sense to do it that way.

If you insist on doing it the current way you'll need to use a hidden
iframe and load the page there, or use XmlHttpRequest to perform a
subrequest.
-- 
Phillip Hutchings
http://www.sitharus.com/
[EMAIL PROTECTED] / [EMAIL PROTECTED]
_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to