PHP inside of Javascript in a .php file [message #90689] |
Thu, 15 January 2009 21:14  |
Eclipse User |
|
|
|
Originally posted by: micahjg26.netscape.net
I have Javascript code that I output inside of a PHP file, but put
variables inside the javascript block. I am getting a weird error:
<?php
function SomeFunction()
{
?>
<script type="text/javascript">
parentValue = <?=$parentValue?>;
</script>
<?
}
?>
I get an error over the '<?' of the '<?=' expresssion in the javascript
block saying: Syntax error on tokens, PostfixExpression expected instead
Anyone know why this is?
Thanks,
Micah
|
|
|
|
Re: PHP inside of Javascript in a .php file [message #90752 is a reply to message #90737] |
Fri, 16 January 2009 04:21   |
Eclipse User |
|
|
|
Originally posted by: micahjg26.netscape.net
Nick Boldt wrote:
> Couple thoughts...
>
> 1. Try using fully-formed PHP, not the lazy <?= ?> format.
That didn't make a difference.
> 2. Try wrapping your javascript variable assignment (unless it's an
> integer!) with quotes.
They are integers, but it doesn't matter since I'm just passing them to
a PHP script with AJAX. This actually worked, but I have a new problem:
if (parentValue)
{
<?php echo $function;?>
}
gives me these errors:
Multiple annotations found at this line:
- Syntax error on token "<", invalid Expression
- Syntax error on token "?", invalid Expression
- Syntax error on token ">", FullPostfixExpression expected after this
token
- Syntax error on token "echo", : expected
- syntax error, unexpected 'EOF'
It seems like the Javascript parser has trouble with the PHP inside the
javascript, even though the javascript is in a PHP file.
>
> Thus:
>
> <?php
>
> function SomeFunction()
> {
>
> ?>
> <script type="text/javascript">
> parentValue = '<?php print $parentValue; ?>';
> </script>
> <?
> }
>
> ?>
>
> Or, better:
>
> <?php
>
> function SomeFunction()
> {
> print<<<EOHTML
> <script type="text/javascript">
> parentValue = '${parentValue}';
> </script>
> EOHTML; // must be flushed to left margin
> }
>
> ?>
I might have to try this instead.
> Micah wrote:
>> I have Javascript code that I output inside of a PHP file, but put
>> variables inside the javascript block. I am getting a weird error:
>>
>> <?php
>>
>> function SomeFunction()
>> {
>>
>> ?>
>> <script type="text/javascript">
>> parentValue = <?=$parentValue?>;
>> </script>
>> <?
>> }
>>
>> ?>
>>
>> I get an error over the '<?' of the '<?=' expresssion in the javascript
>> block saying: Syntax error on tokens, PostfixExpression expected instead
>>
>> Anyone know why this is?
>>
>> Thanks,
>> Micah
>
|
|
|
|
Re: PHP inside of Javascript in a .php file [message #90843 is a reply to message #90782] |
Fri, 16 January 2009 13:02  |
Eclipse User |
|
|
|
Originally posted by: micahjg26.netscape.net
Nick Boldt wrote:
>
>
> Micah wrote:
>> if (parentValue)
>> {
>> <?php echo $function;?>
>> }
>
> What is the value of $function?
The name of a xajax function. This is while editing, not running that I
get the error.
>
>> gives me these errors:
>> Multiple annotations found at this line:
>> - Syntax error on token "<", invalid Expression
>> - Syntax error on token "?", invalid Expression
>> - Syntax error on token ">", FullPostfixExpression expected after
>> this
>> token
>> - Syntax error on token "echo", : expected
>> - syntax error, unexpected 'EOF'
>>
>> It seems like the Javascript parser has trouble with the PHP inside the
>> javascript, even though the javascript is in a PHP file.
>
> You might want to open a bug against PDT (or maybe this is a DLTK
> issue?) explaining what you've tried and what workarounds (if any) work
> to clear the reported errors.
I'll have to do that. I just wanted to make sure that I wasn't missing
a config setting before filing a bug.
>
> Sounds like there are parser usecases not yet implemented.
>
> Have you tried doing your javascript in a separate file so that it can
> be parsed w/ a JS editor, rather than a PHP editor?
>
I have pure Javascript functions in a separate file, but it happens to
be that 65% of this function is generated from PHP variables, so I am
outputting it inline.
Thanks,
Micah
|
|
|
Powered by
FUDForum. Page generated in 0.02480 seconds