我在给定的SSCCE代码中收到以下错误:
Error: ReferenceError: electron is not defined
Source File: http://localhost/testingOne.php
Line: 1
虽然'electron'
是一个字符串。那么为什么我会收到这个错误。我在electron
尝试了接受的答案here并将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>';
?>
答案 0 :(得分:2)
如果您要在创建的实际HTML上查看源代码,您会看到:
<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>