我有这个HTML代码:
<div id="texttheory" class="centertext">'. $short .' </div>';
<button id="thbutton" class="theory_button" onclick="javascript:changetheory('.$long.')">
<img id="imagebutton" src="./images/arrows.png" width="15px" heigth="22px">
</button>
我在由javascript函数调用的php脚本中生成:
function showTheory (kl) {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("theory").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gettheory.php?kl="+kl,true);
xmlhttp.send();
}
函数changetheory位于html库中,正确包含在html head标签中,它的工作方式如下:
function changetheory (content, old) {
document.getElementById("texttheory").innerHTML= content;
document.getElementById("thbutton").setAttribute ('onclick', "javascript:changetheory("+old+", "+content+")");
}
当我点击按钮切换两个文本时我得到错误: Uncaught SyntaxError:意外的标识符 在html文件的第1行。 任何人都可以看到问题是什么?
答案 0 :(得分:3)
您在onclick事件的内容字符串周围缺少引号。
<button id="thbutton" class="theory_button" onclick="javascript:changetheory('.$long.')">
应该是
<button id="thbutton" class="theory_button" onclick="javascript:changetheory(\''.$long.'\')">