javascript调用php数组变量有关问题!

javascript调用php数组变量问题!!
我在php里面定义的了一个数组, 想在内部的javascript函数中调用, 可是怎么都报错, 求各位大神帮忙看看!感激不尽!
php里面:

<?php
$qst=array("R2","R3","R7");
$index_qst=3;
-----------------------------------
$qst[$index_qst]="R1";
$index_qst++; // 动态的统计数组
-----------------------------------
$str = json_encode($qst); ?>


Js:

<script type="text/javascript">

$(document).ready(function(){
$("#send").click(function(){                               
var empty =0;
var nbr_qst = <?php echo "$str";?>; //这一行一直报错
for (var i in nbr_qst) {

if (!$("input[name='i']").is(':checked')){
empty=1;
}


打开网页原代码报错的部分显示如下
$(document).ready(function(){
$("#send").click(function(){                    
var test =0;                  
var empty =0;
var str = <br />


快要崩溃了!!!! 求救!!
------解决思路----------------------
很明显那只是PHP的错误信息:
Notice: Undefined variable: str in C:\Users\btang\xampp\htdocs\QuestionaireV5\QuestionnaireV5\QuestionnaireV.php on line 11

建议你贴出完整的代码。
------解决思路----------------------
把 <?php echo "$str";?> 换成 <?=$str?> 出现错误
这表示你的 php 版本低于 5.4 且没有打开短标记功能
你使用了 xdebug 扩展,不会连 xdebug 的报告格式也不知道吧?
javascript调用php数组变量有关问题!
不过错误信息的内容与你的描述不一致,不好说什么了

既然你使用了 JQuery,那么就会要使用他的无刷新功能
但是你把 php 动态生成的数据直接嵌入在 js 代码中,这在流程上是不对的
也不能发挥出 JQuery 的性能
------解决思路----------------------
引用:
Quote: 引用:

把 <?php echo "$str";?> 换成 <?=$str?> 出现错误
这表示你的 php 版本低于 5.4 且没有打开短标记功能
你使用了 xdebug 扩展,不会连 xdebug 的报告格式也不知道吧?
javascript调用php数组变量有关问题!
不过错误信息的内容与你的描述不一致,不好说什么了

既然你使用了 JQuery,那么就会要使用他的无刷新功能
但是你把 php 动态生成的数据直接嵌入在 js 代码中,这在流程上是不对的
也不能发挥出 JQuery 的性能


确实是菜鸟,而且程序不是我写的, 只是发现了一个bug要修改, 还在学习中
求大神指教要怎么做传进去呢


直接在js 的前面调用


  $(document).ready(function(){ 这个之前定义一个 var str =<?php echo $str;?>

在JS里面直接调用。
------解决思路----------------------
是不是JS哪块需要加收一个标签。就好像smarty的literal 标签一样。才能解析。
不行的话 你这样把那个数据放到一个<input type="hidden" name ='str' value="<?php echo $str;?>"> 这样。然后在JS中通过DOM元素来获取。

------解决思路----------------------
引用:
Quote: 引用:

是不是JS哪块需要加收一个标签。就好像smarty的literal 标签一样。才能解析。
不行的话 你这样把那个数据放到一个<input type="hidden" name ='str' value="<?php echo $str;?>"> 这样。然后在JS中通过DOM元素来获取。


$json_qst = json_encode($qst);
echo '<input type="hidden" name ="json_qst" value="<?php echo $json_qst;?>">';

var nbr_qst = document.getElementByname("json_qst");

js这里还是报错 是我写的不对吗


报什么错,不行加QQ群说吧:231566327