将PHP变量传递给Javascript函数
我有一个名为$ path的变量。我想将这个变量从PHP传递给一个javascript函数。将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');
}
我知道我做错了,但我不知道如何。任何建议将不胜感激。
我认为这个问题是你如何回声路径:
相反的:
var test1 = <?php echo $path; ?>
我觉得应该是
var test1 = <?php echo '"'.$path.'";'; ?>
有没有理由它与var myValue = ; ? –
json_encode返回一个带有“(双引号)”字符的字符串,这就是你的代码中缺少的东西。 –
您可以随时使用隐藏的输入字段,并将其值设置为任何您需要在JS代码中使用的值,然后在您的JS中获取该值,或者尝试ajax调用以获取所需的值。
使用隐藏的输入字段是非常糟糕的做法。它虽然工作。 – giorgio
json_encode()解决了这一问题。
var myValue = <?php echo json_encode($path); ?>;
Json并不意味着要将值输入到一个javascript变量中。'json!== var' – giorgio
该路径需要带引号的字符串。回显字符串的最终结果本身必须包含引号。
假设$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>
你打印的是;在回声结束? –
这是一个错字。我会编辑修复它。 –
可能的重复[如何将变量和数据从PHP传递到JavaScript?](http://stackoverflow.com/questions/23740548/how-to-pass-variables-and-data-from-php-to-javascript) – giorgio