2014-09-22 33 views
1

我正在给定SSCCE代码以下错误:的ReferenceError:电子没有定义

Error: ReferenceError: electron is not defined 
Source File: http://localhost/testingOne.php 
Line: 1 

虽然'electron'是一个字符串。那么为什么我会得到这个错误。而我试图接受的答案here"包裹electronproton但给出:

Error: SyntaxError: syntax error 
Source File: http://localhost/testingOne.php 
Line: 1, Column: 12 
Source Code: 
clickButton(

代码:

<?php 

echo '<html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <script> 
     function clickButton(alp, bet) { 
      alert(alp); 
      alert(bet); 
     } 
    </script> 
</head><body>'; 

$array = array('alpha'=>'electron', 'beta'=>'proton'); 

echo '<button type="button" onclick="clickButton('. $array['alpha'].','.$array['beta'] .')" >Click Me</button>'; 

echo '</body></html>'; 
?> 

回答

2

如果你查看源代码的实际HTML创建,你'd see:

<button type="button" onclick="clickButton(electron,proton)" >Click Me</button> 

您需要添加引号周围输出值将它们转换成JavaScript字符串文字:

echo '<button type="button" onclick="clickButton(\''. $array['alpha'].'\',\''.$array['beta'] .'\')" >Click Me</button>'; 

给:

<button type="button" onclick="clickButton('electron','proton')" >Click Me</button>