我正在编写一个数独谜题(http://www.jsfiddle.net/sZ7Aq/4/)。它在IE上运行正常,但是当我在谷歌浏览器上试用它时,按钮在我点击它时什么也不做。有没有办法解决它所以它适用于所有浏览器?
请注意:我还没有完成它,因此没有拼图生成功能。您必须自己输入所有数字。
这是我的main()函数(如果你还没有点击链接):
function main() {
getcellVal();
if (validate() == false) {
alert("Something's not right!");
return false;
}
alert("Good job!");
return true;
}
我的按钮:
<button onclick="javascript: main()">Check my answer</button>
答案 0 :(得分:0)
使用.addEventListener('click',main);例如:
var check = document.getElementById('check');
check.addEventListener('click', main);
然后添加id =“main”并从按钮中删除onclick。
然后打开你的控制台并修复其他错误...
答案 1 :(得分:0)
从你的jsfiddle,错误发生在你的getcellValue()函数中。此代码不正确:
colVal = [[x0y0.value, x0y1.value, x0y2.value, x0y3.value, x0y4.value, x0y5.value, x0y6.value, x0y7.value, x0y8.value],
我建议您将输入元素更改为具有与名称匹配的id属性。像这样:
<input type="text" name="x0y0" id="x0y0">
然后更改你的getcellVal()函数以使用getElementById函数。
colVal = [[document.getElementById("x0y0").value, ...],
它会更加冗长,但它可以在更多浏览器中使用。
答案 2 :(得分:0)
很少有事情需要纠正:
javascript: main()
内联等事件。例如:
<button id="buttonid">Check my answer</button>
window.onload = function() {
document.getElementById('buttonid').onclick = main;
};
x0y0.value
将不会返回任何内容。而是使用id
或class
名称来访问元素集。例如:
<input type="text" name="x0y0" id="x0y0">
在javascript中,
document.getElementById("x0y0").value