|
Posted by Thomas 'PointedEars' Lahn on 09/26/08 11:36
Srinivas Aki wrote:
> I'm trying to read a dynamic table into an array and then return it
> back to the php array so that I can register that for the session. I'm
> not too sure if i'm going in the right direction though. Javascript
> follows.
>
> function get_ticket_cart(){
> var tamt = document.getElementById('tamt');
> var tcells = tamt.cells;
> var total = tcells[tcells.length-1];
> return tcells;
> }
>
> And I'm trying to do this on onClick of the form. Php code follows
>
> $tickets = array();
> <input type="submit" value="Pay Dues" onclick="<? $tickets ?> =
> get_ticket_cart();" >
>
> $_SESSION['tickets'] = $tickets;
> session_register('tickets');
>
> I could be wrong in trying to catch the return value. But the problem
> is this needs to be done on the click event.
I doubt you have understood how PHP works. At first you need to understand
that _server-side_ PHP code is parsed _before_ it gets to the client.
<URL:http://php.net/manual/>
Second, provided that short_open_tag=on in php.ini -- which it should not
be, see <URL:http://php.net/ini.core> --, the above code would generate
nothing but
<input type="submit" value="Pay Dues" onclick=" = get_ticket_cart();" >
`$tickets' would refer to the PHP array, and using it in this way results in
the empty string. (RTSL -- Read The Source, Luke; the source the _client_
gets.) Ignoring that the generated event listener code is of course
syntactically incorrect JS/ECMAScript code.
If you want to submit data to the server and so fill the PHP array, you will
have to do a HTTP request addressing a PHP script that will fill it; that
requires at least a URL. An (X)HTML form could be used; it would result in
displaying the server's response unless the server responds with HTTP
status code 204 (No Content). But then you should use the `onsubmit'
intrinsic event handler of the `form' element instead. Or, as an
alternative to forms, you could submit the data another way, including
"AJAX".
HTH
PointedEars
[Back to original message]
|