Connecting Tech Pros Worldwide Help | Site Map
 
 
LinkBack Thread Tools Search this Thread
  #1  
Old January 23rd, 2007, 10:15 PM
Jeremy Felt
Guest
 
Posts: n/a
Default Help with undefined variable

Newbie here. I'm sure I'm missing something EXTREMELY simple, but an
hour of searching has led to nothing.

I'm playing around with ajax and trying to pass a variable to a
function.

If I do:

onclick="myFunction(12345)"

It works fine. If I do:

onclick="myFunction($variable)"

It doesn't work at all and IE gives an error stating that $variable is
undefined.

$variable is given a value right before the onclick statement with PHP
as:

$variable=12345;

There's more code involved, but I'm guessing this is something simple
for somebody with experience. Can anybody help?

Thanks Much!

  #2  
Old January 23rd, 2007, 10:25 PM
David Dorward
Guest
 
Posts: n/a
Default Re: Help with undefined variable

Jeremy Felt wrote:
Quote:
It doesn't work at all and IE gives an error stating that $variable is
undefined.
Quote:
$variable is given a value right before the onclick statement with PHP
PHP runs on the server and generates some data which the server sends to the
client.

JavaScript runs on the client.

A variable in PHP won't magically appear in JavaScript. You have to have PHP
generate some JavaScript which creates the variable.

--
David Dorward <http://blog.dorward.me.uk/ <http://dorward.me.uk/>
Home is where the ~/.bashrc is
  #3  
Old January 23rd, 2007, 11:35 PM
Jeremy Felt
Guest
 
Posts: n/a
Default Re: Help with undefined variable



On Jan 23, 4:16 pm, David Dorward <dorw...@yahoo.comwrote:
Quote:
Jeremy Felt wrote:
Quote:
It doesn't work at all and IE gives an error stating that $variable is
undefined.
$variable is given a value right before the onclick statement with PHPPHP runs on the server and generates some data which the server sends to the
client.
>
JavaScript runs on the client.
>
A variable in PHP won't magically appear in JavaScript. You have to have PHP
generate some JavaScript which creates the variable.
>
--
David Dorward <http://blog.dorward.me.uk/ <http://dorward.me.uk/>
Home is where the ~/.bashrc is
Right. I think I have that part, but maybe not. I wrote the previous
message too quickly because I was on my way out the door.

I am using PHP for the database stuff and "echo"ing it out as
html/javascript. The real statement in question is along the lines of:

------------------------
$variable=12345;
echo '<span style="underlined text blah blah"
onclick="myFunction($variable)">text</span>'; // doesn't work
-----------------------
vs.
----------------------
echo '<span style="underlined text blah blah"
onclick="myFunction(12345)">text</span>'; // works
-----------------------

A global.js file that defines myFunction is being called earlier in the
code with another echo statement. This part seems to be working
because I can replace $variable with 12345 and have it work.

My admittedly weak understanding is that PHP would pass the value of
$variable to the HTML/JS stuff when it was outputted on the client side
just like any other PHP page working with variables and that Javascript
would never see the $variable portion, just 12345.

Does that change anything/make any sense?

Thanks!

  #4  
Old January 24th, 2007, 12:05 AM
Randy Webb
Guest
 
Posts: n/a
Default Re: Help with undefined variable

Jeremy Felt said the following on 1/23/2007 6:30 PM:
Quote:
>
On Jan 23, 4:16 pm, David Dorward <dorw...@yahoo.comwrote:
Quote:
>Jeremy Felt wrote:
Quote:
>>It doesn't work at all and IE gives an error stating that $variable is
>>undefined.
>>$variable is given a value right before the onclick statement with PHPPHP runs on the server and generates some data which the server sends to the
>client.
>>
>JavaScript runs on the client.
>>
>A variable in PHP won't magically appear in JavaScript. You have to have PHP
>generate some JavaScript which creates the variable.
>>
>--
>David Dorward <http://blog.dorward.me.uk/ <http://dorward.me.uk/>
> Home is where the ~/.bashrc is
>
Right. I think I have that part, but maybe not. I wrote the previous
message too quickly because I was on my way out the door.
>
I am using PHP for the database stuff and "echo"ing it out as
html/javascript. The real statement in question is along the lines of:
>
------------------------
$variable=12345;
echo '<span style="underlined text blah blah"
onclick="myFunction($variable)">text</span>'; // doesn't work
Right Click>View Source.

What HTML is the browser receiving? If it is getting $variable (which
the error indicates) then PHP isn't parsing it as you want and it's a
PHP problem.


onclick="myFunction(<? $variable >)"
--
Randy
Chance Favors The Prepared Mind
comp.lang.javascript FAQ - http://jibbering.com/faq/index.html
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
  #5  
Old January 24th, 2007, 12:15 AM
David Dorward
Guest
 
Posts: n/a
Default Re: Help with undefined variable

Jeremy Felt wrote:
Quote:
The real statement in question is along the lines of:
$variable=12345;
echo '<span style="underlined text blah blah"
onclick="myFunction($variable)">text</span>'; // doesn't work
Quote:
My admittedly weak understanding is that PHP would pass the value of
$variable to the HTML/JS stuff when it was outputted on the client side
just like any other PHP page working with variables and that Javascript
would never see the $variable portion, just 12345.
Which would make this a PHP question. You could View Source and see the
output wasn't what you wanted. Strings delimited by single quotes are not
interpolated in PHP, so echo '$foo' outputs $foo and not the value of a
variable named $foo.

--
David Dorward <http://blog.dorward.me.uk/ <http://dorward.me.uk/>
Home is where the ~/.bashrc is
  #6  
Old January 24th, 2007, 12:55 AM
Jeremy Felt
Guest
 
Posts: n/a
Default Re: Help with undefined variable



On Jan 23, 6:09 pm, David Dorward <dorw...@yahoo.comwrote:
Quote:
Jeremy Felt wrote:
Quote:
The real statement in question is along the lines of:
$variable=12345;
echo '<span style="underlined text blah blah"
onclick="myFunction($variable)">text</span>'; // doesn't work
My admittedly weak understanding is that PHP would pass the value of
$variable to the HTML/JS stuff when it was outputted on the client side
just like any other PHP page working with variables and that Javascript
would never see the $variable portion, just 12345.Which would make this a PHP question. You could View Source and see the
output wasn't what you wanted. Strings delimited by single quotes are not
interpolated in PHP, so echo '$foo' outputs $foo and not the value of a
variable named $foo.
>
--
David Dorward <http://blog.dorward.me.uk/ <http://dorward.me.uk/>
Home is where the ~/.bashrc is

Ahhh, that's making more sense. I usually use double quotes in PHP,
but I was working off of another AJAX sample and hadn't thought to
change the single quotes yet. That's what I get for jumping in without
really knowing what I'm doing.

I'll check this out when I'm back in tomorrow, but I think you have me
on the right path. Thanks again.

  #7  
Old January 24th, 2007, 05:25 PM
Jeremy Felt
Guest
 
Posts: n/a
Default Re: Help with undefined variable

Thanks for the help guys and sorry for the misdirected PHP post. I
separated the $variable from the single quotes and it works beautifully.

 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 205,248 network members.