我的php文件中有这一行:
echo "<input type='button' id='showButton' value='show' onclick='showOld()'>";
显示按钮但单击时,没有任何反应。
该函数位于外部JS文件中。 这是函数声明:
页面中的其他“onclick”事件和JS函数正在运行。
function showOld()
{
alert("njkh");
var table = document.getElementById("showExp");
var button = document.getElementById("showButton");
if (table.style.display == "none")
{
table.style.display = "inline";
button.value = "הסתר ניסויים ישנים";
}
else if (table.style.display == "inline")
{
table.style.display = "none";
button.value = "הצג את כל הניסויים";
}
}
控制台说“ReferenceError:showOld未定义”
答案 0 :(得分:2)
您必须确保已部署更新的代码。
你可以查看html源代码。
并且您发布的代码没有任何问题。
答案 1 :(得分:1)
尝试打开firebug的控制台(或chrome dev工具)并检查是否有任何脚本错误。
你应该避免编写内联JavaScript。这使得调试和维护代码库变得更加困难。我建议您阅读以下有关javascript事件的文章:
Quirksmode - Early Event Handlers
Quirksmode - Traditional event registration model
文章引用:
虽然内联事件注册模型古老而可靠, 它有一个严重的缺点。它需要你编写JavaScript XHTML结构层中的行为代码,它不属于它。
答案 2 :(得分:1)
请尝试下一步检查例外情况:
<input type='button' id='showButton' value='show' onclick='javascript:alert(1);try{showOld()}catch(e){alert(e)}' />
javascript控制台中显示的内容(如果有)?
答案 3 :(得分:0)
首先,简化问题,看看以下功能是否有效。
function showOld() {
alert('test');
}