очень простой сбой JavaScript - PullRequest
0 голосов
/ 04 июня 2009

Рабочий пример:

Это почти идентично коду, который я использую в других местах на моей странице, но по какой-то причине здесь не работает.

<?php
//$p = "test";
?>

<script>
alert('posts are firing? ');
parent.document.getElementById('posts').innerHTML = "test";
</script>

Неудачный пример: (предупреждение все еще работает)

<?php
$p = "test of the var";
?>

<script>
alert('posts are firing? ');
parent.document.getElementById('posts').innerHTML = '<?php $p; ?>';
</script>

Ответы [ 6 ]

6 голосов
/ 04 июня 2009

Попробуйте

'<?php echo $p; ?>';

или

'<?= $p ?>';
2 голосов
/ 04 июня 2009

Убедитесь, что ваш объект posts (я думаю, это DIV или SPAN) загружается, прежде чем заполнять его с помощью JavaScript.

2 голосов
/ 04 июня 2009

Отладка 101: начать проверку всех значений переменных.

alert(parent);
alert(parent.document);
alert(parent.document.getElementById('posts'));

, а также значение, представленное: '<?php $p; ?>'

1 голос
/ 04 июня 2009

Вы пытаетесь сгенерировать javascript с помощью php, здесь я использую простое эхо:

<?php

$p = "test of the var";

echo"
<div id='posts'></div>

<script type='text/javascript'>
var posts = document.getElementById('posts');
posts.innerHTML = '$p';
</script>
";

?>

Обратите внимание на $ p, и div печатается перед javascript!

0 голосов
/ 05 июня 2009

В вашем примере $ p оценивается, а не печатается.

Чтобы напечатать его, вы должны использовать print , echo или синтаксис <\? = $ P;?>. без \

0 голосов
/ 05 июня 2009

Вы не выводите переменные данные, поэтому они не работают. Вам необходимо отобразить или распечатать переменную $ p.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...