2013-03-27 152 views
0

我想将两个PHP变量传递给我的onload标签。我不断收到错误“未捕获的ReferenceError:一个没有定义”将PHP变量传递给onload(JS)

我使用的代码是:

<body onload="loadCalendar(<?php echo $profiletype; ?>,<?php echo $uid; ?>)"> 

代码的结果是:

<body onload="loadCalendar(a,29)"> 

这对我来说看起来不错 - 但我不断收到错误。有什么想法吗?

+1

你在某处有一个流氓变量'a'。它可能不在你身上。也许用萤火虫检查一下? – castis 2013-03-27 20:13:48

+0

试试'“<?php echo $ profiletype;?>”'产生''a“'。 – 2013-03-27 20:15:00

+0

我使用google chromes调试的东西 - 那是我从哪里得到的错误。我之前用这种方式完成了类似onclicks的事情,并且它的工作正常,因此我的困惑 – 2013-03-27 20:15:39

回答

1

使它成为这个代替。

<body onload="loadCalendar('<?php echo $profiletype; ?>',<?php echo $uid; ?>)"> 

当你没有引述值,它解释a作为一个变量,而不是一个字符串。

+0

哇 - 这简直太愚蠢了。非常感谢! – 2013-03-27 20:17:53

+0

不客气!如果他们已经为你解决了问题,请记住接受答案。 – castis 2013-03-27 20:19:40

+0

对不起 - 我试过了,但我不得不等待9分钟。完成。 – 2013-03-27 20:30:49

1

我认为你错过了一些单引号

<body onload="loadCalendar('<?php echo $profiletype; ?>','<?php echo $uid; ?>')"> 
0

您需要引用返回$profiletype

<body onload="loadCalendar('<?php echo $profiletype; ?>',<?php echo $uid; ?>)"> 

如果你不那么值将被从字面上理解 - 在a变量的情况下该名称,因此错误Uncaught ReferenceError: a is not defined