我也很想知道JavaScript和Php之间传递数组的方法,关注!

解决方案 »

  1.   

    我以前也遇到过,如果一定想要得到的话,再让它自动跳到另一页吧,其它是没有办法的。
    JavaScript是客户端脚本
    PHP是服务器端解析语言
    现款者不能混了,
      

  2.   

    这只是一维的好办先合并再分开。先
    $arrToStr=implode(',',$array1);
    echo  "<input type='hidden' name='hiddenField' value=$arrToStr>";在js中用split分开成数组:
    function f1()
    {
      var array2=form1.hiddenField.value.split(",");
      alert (array2[0]);  
    }
      

  3.   

    表单提交的变量要到下一页才有用。可用下面方法:
    <?
      global array1;
      //以下是从数据库中取得array1语句
      array1[0]=……
      ……
      array1[n]=……
    ?>
    <script>
    function f1()
    {
      var array2=<?$array1;?>
      alert (array2[0]);  
    }
    </script>
      

  4.   

    或者:<?
      global array1;
      //以下是从数据库中取得array1语句
      array1[0]=……
      ……
      array1[n]=……echo "<script>
    function f1()
    {
      var array2=".$array1;
    echo"
      alert (array2[0]);  
    }
    </script>";
      

  5.   

    <?
      global array1;
      //以下是从数据库中取得array1语句
      array1[0]=……
      ……
      array1[n]=……
    ?>
    <script>
    function f1()
    {
    <?php
       for($i=0;$i<n;$i++){
       echo "var array2=";
       echo array1[0];
       echo "alert (array2[0])";  
        }
    //通过在js里面写php通过循环把值附进去
    ?>
      }
    </script>
    <?
      echo "<form name="form1">";
      echo  "<input type='hidden' name='hiddenField' value=$array1 >";  
      echo "</form>";
    ?>
      

  6.   

    pgz_007的方法我试过了,好像不行
    而且第二种方法有个地方还有点小错误(和和,不好意思):echo "<script>
    function f1()
    {
      var array2=".$array1.";";
                           ~~~~
    vivanboy(被迫早起的鸟儿)的方法是可行的但我有个问题想不通,pgz_007的方法我觉得可以的,可为什么不行呢
    是不是因为 julychina所提到的原因
      

  7.   

    pgz_007的方法当然行不通php的数组和js的数组可完全不同,不能直接赋值的
    比如js的索引只能为数字
      

  8.   

    or:
    <script>
    function f1()
    {
      var array2=new Array(<?="'".implode("','",$array1)."'"?>);
      alert (array2[0]);  
    }
    </script>