我有一些像这样的代码
var minAmountPay = <?php echo $this->chat['Current']['admin'] >= 1 ? 1 : $this->minAmountPay; ?>;
var userId = <?php echo $this->currentUserId?>;
我使用ZF,我的动作文件中有很多javascript代码。我想为每个动作创建js文件并对这些文件进行缩小。但我无法创建js文件,因为我已经将php变量分配给javascript变量。
也许我需要为此目的使用一些javascript框架?
答案 0 :(得分:3)
例如:
HTML:
<div id="something" data-minamountpay="<?php echo $this->chat['Current']['admin'] >= 1 ? 1 : $this->minAmountPay; ?>"></div>
JS(使用jQuery):
var minAmountPay = $('#something').data('minamountpay');
答案 1 :(得分:1)
JavaScript无法直接与PHP交互。
这是因为JavaScript是客户端的,PHP是服务器端的。
执行此操作的唯一方法是 - 通过在PHP中生成输出到脚本中的输出。
答案 2 :(得分:1)
您可以使用
将javascript添加到您的html文件中<script type="text/javascript">
var minAmountPay = <?php echo $this->chat['Current']['admin'] >= 1 ? 1 : $this->minAmountPay; ?>;
var userId = <?php echo $this->currentUserId?>;
</script>
答案 3 :(得分:0)
您可以将这些值分配给页面中的隐藏输入。
按输入值获取值。
这些值对用户都是可见的。
答案 4 :(得分:0)
您可能想要考虑放置这些变量的位置。你能把它们放在HTML中吗?当我需要做你正在做的事情时,我使用HTML 5数据属性并将变量分配到适当的位置,如下所示:
<div id="my-appropriate-div"
data-min-amount-pay="<?php echo $this->chat['Current']['admin'] >= 1 ? 1 : $this->minAmountPay; ?>"
data-user-id="<?php echo $this->currentUserId ?>">
然后在JavaScript中,您可以访问数据:
var minAmountPay = $('#my-appropriate-div').data('min-amount-pay');
var userId = $('#my-appropriate-div').data('user-id');
显然,不是将它们放入变量中,而是直接在函数中需要的地方使用它们。