这是我的 php 代码:
<?php
$typeid = 65;
$subledgerid = 'subledger'.$typeid;
$loadledger = 'loadledgers';
?>
<script type="text/javascript">view_subledger('<?php echo $subledgerid;?>',<?php echo $typeid;?>,'<?php echo $loadledger;?>');</script>
这不是调用 view_subledger()
。
但是当我这样调用它时它会工作正常:
<script type="text/javascript">view_subledger('subledger65',65,'loadledgers');</script>
我该如何调用它?
最佳答案
这是最安全的方法:
<?php
$typeid = 65;
$subledgerid = 'subledger'.$typeid;
$loadledger = 'loadledgers';
?>
<script type="text/javascript">
view_subledger.apply(window, <?php print json_encode(array(
$typeid,
$subledgerid,
$loadledger
)); ?>);
</script>
生成以下代码:
<script type="text/javascript">
view_subledger.apply(window, [65,"subledger65","loadledgers"]);
</script>
json_encode() 将确保变量被正确转义,并且使用 .apply() 方法您可以将参数数组传递给 JS 函数。
另一个建议的版本:
<?php
$typeid = 65;
$subledgerid = 'subledger'.$typeid;
$loadledger = 'loadledgers';
$param_str = implode(', ', array_map('json_encode', array(
$typeid,
$subledgerid,
$loadledger
)));
?>
<script type="text/javascript">
view_subledger(<?php print $param_str; ?>);
</script>
生成以下内容:
<script type="text/javascript">
view_subledger(65, "subledger65", "loadledgers");
</script>
关于php - 我如何使用带有 php 变量传递的 php 代码调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13600451/