Posted by Hilarion on 08/24/05 19:22
>>> I have a couple questions about the first solution you gave.
>>>
>>> <form action="myPerlScript.pl" onsubmit="someJavaScriptFunction()">
>>> <div>
>>> <input type="submit">
>>> </div>
>>> </form>
>>>
>>> Forgive me for my ignorance in this matter. Using this code, I'm
>>> assuming the JavaScript function executes first. If so, how do you
>>> return the values you want from the JavaScript function so I can send
>>> them to the perl script?
>>>
>> If it is a posting to a form, then have some input fields, usually
>> 'hidden' for this purpose that the JavaScript sets their value before
>> submition of the form.
>>
>> <script type="text/javascript">
>> function someJavaScriptFunction(){
>> var f=document.forms[0];
>> ...
>> f.toBeSet.value="Some Value Derived by JavaScript";
>> ...
>> return true;
>> }
>> </script>
>> ...
>> <form action="myPerlScript.pl" onsubmit="someJavaScriptFunction()>
>> <input type="hidden" name="toBeSet">
>> ...
>> </form>
>
> Also note that the return value of JS function (always 'true' in the example
> above) determines, if the form will actually be submitted (and if your perl
> script on the server will be executed). Returning 'false' will prevent the
> form submission (but you can't stop non-JS users from submitting the form
> of course).
For this to work you'll have to change onsubmit="someJavaScriptFunction()"
to onsubmit="return someJavaScriptFunction()".
Hilarion
[Back to original message]
|