如何在 zend_form 中将数组插入 JavaScript

how to insert array into javascript inside zend_form

本文关键字:数组 插入 JavaScript form zend      更新时间:2023-09-26

我需要将数组从我的 zend 操作传递到视图,可能使用 ajax,这尚未决定。 为此,我需要插入一个脚本元素并在其中定义 JavaScript 变量,然后将我的 PHP 数组传递给该变量,但我在将脚本元素插入zend_form时遇到问题。 将此代码包含在我的 PHTML 脚本中的最简单方法是什么:

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

您可以使用视图助手 inlineScript(( 将 java 脚本传递给您的视图.

在你的行动中 $this->inlineScript()->setScript('java script here');

你看来<?php echo $this->inlineScript() ?>呼应这一点

您还可以使用 json(( 帮助程序将 JSON 传递给视图中的 Java 脚本。

RockyFord的解决方案过于复杂。只需将 PHP 数组分配给任何视图变量,并将您发布的代码(修改为使用视图变量(添加到视图脚本的末尾 - 就在回显表单之后。

//controller
$this->view->php_array = array(...);
//view
echo $this->form;
<script type="text/javascript">
    var obj = <?php echo json_encode($this->php_array); ?>;
</script>

它将按您的预期工作。

使用 JSON 视图帮助程序并不理想,因为它会修改标头,并且默认情况下还会禁用布局。您可以将json_encode替换为 Zend_Json::encode,即使没有在 PHP 中加载json_extension,也可以使其正常工作。