2014-09-22 4 views
1

Я получаю следующее сообщение об ошибке в данном коде SSCCE:ReferenceError: электрон не определен

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

Хотя 'electron' является строкой. Так почему я получаю эту ошибку. Пока я пытался обслуживаемого ответ here и завернутые electron и proton в ", но это дает:

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:

<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> 
Смежные вопросы