将php数组从表单传递到javascript文件

时间:2017-03-10 15:28:05

标签: javascript php wordpress

我有一个php关联数组$ php_array。另外,我的php文件中有一个如下表单。

<form action="" method="post">
    <p class="submit">
        <input name="submit" class="button-primary" value="Send" type="submit" id="">
        <input type="hidden" name="details" value="' . $php_array . '"/>
    </p>
</form>

我想将这个数组$ php_array传递给像

这样的javascript文件
  `details = $("input[name=details]").val();`

数组的格式为

Array(
    [59] => Sree
    [53] => Smith
)

我想在点击“发送”链接时使用javascript显示名称。我怎样才能将php数组传递给javascript

3 个答案:

答案 0 :(得分:2)

您应该将php数组编码为json格式,然后从客户端解码;

<form action="" method="post">
    <p class="submit">
        <input name="submit" class="button-primary" value="Send" type="submit" id="">
        <input type="hidden" name="details" value='<?php echo json_encode($php_array); ?>'/>
    </p>
</form>

并从您的javascript文件:

var details = JSON && JSON.parse($("input[name=details]").val()) || $.parseJSON($("input[name=details]").val());

答案 1 :(得分:1)

目前还不清楚你的最终目标,是通过XHR(ajax)发布的吗?

在这种情况下,我认为不需要使用表单来传递数据。您可以将其编码为json并将其抓取到您的JS文件或块上,如下所示:

<script type="text/javascript">
  var details = <?php print(json_encode($php_array)) ?>;

  // using jQuery
  $('form').on('submit', function(e) {
    // use 'details' here as you need
    return false;
  });
</script>

答案 2 :(得分:0)

只需使用json_encode($php_array)将变量编码为json,然后在JavaScript端使用JSON.parse()

将其解析回来