将PHP变量传递给Javascript函数

时间:2016-11-17 22:34:07

标签: javascript php

我有一个名为$ path的变量。我想将这个变量从PHP传递给javascript函数。

<button onclick='myFunctionContact(\"" . $row1['id'] . "\")'>
    <img border='0' alt='Contacts' src='".$imgpth."peoplesmall.png'>
</button>
<script>
function myFunctionContact(id) {
    window.open('!!!$path should go here!!!'+id, '', 'toolbar=no,scrollbars=yes,resizable=yes,top=200,left=500,width=400,height=400');
}
</script>

如何在所需的位置获取显示在函数内部的路径中的URL?

我尝试将变量打印到javascript变量中,然后将该变量放入函数中,但是当我这样做时,弹出窗口不再有效。

function myFunctionContact(id) {
    var test1 = <?php echo $path; ?>;
    window.open(test1 +id, '', 'toolbar=no,scrollbars=yes,resizable=yes,top=200,left=500,width=400,height=400');
 }  

我知道我做错了,但我不知道怎么做。任何建议都将不胜感激。

4 个答案:

答案 0 :(得分:2)

我认为问题在于你如何回应这条道路:

而不是:

var test1 = <?php echo $path; ?>

我认为应该是

var test1 = <?php echo '"'.$path.'";'; ?>

答案 1 :(得分:0)

您始终可以使用隐藏的输入字段,并将其值设置为您需要在JS代码中使用的任何值,然后在JS中获取该值,或者尝试ajax调用以获取所需的值。

答案 2 :(得分:0)

json_encode()解决了这个问题。

var myValue = <?php echo json_encode($path); ?>;

答案 3 :(得分:0)

路径必须是带引号的字符串。回显字符串的最终结果本身必须包含引号。

假设$path是一个字符串,window.open期望引用的字符串作为参数。

function myFunctionContact(id) {
    window.open(' . $path . ' + id, '', 'toolbar=no,scrollbars=yes,resizable=yes,top=200,left=500,width=400,height=400');
}
</script>