2009-06-04 16 views
-1

例:非常に単純なjavascriptが失敗する

これはページ上の別の場所で使用するコードとほとんど同じですが、何らかの理由でここで失敗します。

<?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> 
+0

可能であれば、 'json_encode'を使うべきです。 – Gumbo

答えて

6

は、あなたの '柱' のオブジェクトを確認してください

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

または

'<?= $p ?>'; 
+0

忘れないでください:あなたのphp.iniファイルのshort_tagsを有効にして、<?=を動作させる必要があります:) – Nolte

+0

はい、それで、私は両方の行を提供しています:-) – NinethSense

2

デバッグ101:すべての変数の値のチェックを開始します。

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

などによってレンダリング値:'<?php $p; ?>'

+0

私はそれを$ p変数に戻しました。ありがとう。 – ian

2

を試してみてください(私はそれがDIVかだと思いますSPAN)は、javascriptを使用して入力する前に読み込まれます。

<?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

divは既に読み込まれています... – ian

1

は、私は、単純なエコーを使用し、ここではPHPとJavaScriptを生成しようとしています!

0

変数データを出力していないのは、なぜ機能していないのかということです。変数$ pをエコーまたは印刷する必要があります。

0

あなたの例では、$ pが評価されていて、印刷されていません。 ?>;?

あなたは エコー 印刷、または構文< \ = $ pを使用する必要があり、それを印刷します。 \