我想创建一个按钮表(使用JS的HTML),每个都有一个我可以控制的id,这是我迄今为止所取得的成就。问题是我需要通过按表中的任何按钮将用户重定向到页面,但是在编译时,出现的页面是我要重定向的页面而不是主页面(我使用onload()来加载功能,如果这有帮助......)。
这是我的代码:
function tabla() {
var x = document.createElement("TABLE");
x.setAttribute("id", "miTabla");
document.body.appendChild(x);
var cont = 1;
for (var i = 0; i < 5; i++) {
var y = document.createElement("TR");
y.setAttribute("id", "fila" + i)
document.getElementById("miTabla").appendChild(y);
for (var j = 0; j < 5; j++) {
var a = document.createElement("TD");
a.id = "miTD";
var z = document.createElement("BUTTON");
z.className = "btn";
z.id = "Btn" + i + j;
z.innerText = "Plaza " + n(cont);
a.appendChild(z);
document.getElementById("fila" + i).appendChild(a);
document.getElementById("Btn" + i + j).onclick = Datos;
cont++;
}
}
}
function n(numero) {
return (numero < 10 ? '0' : '') + numero
}
function Datos() {
window.location.replace("Datos.aspx");;
}
&#13;
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style>
th {
padding-bottom: 20px;
}
td {
padding-left: 10px;
padding-bottom: 8px;
width: 100px;
}
.btn {
margin-bottom: 10px;
margin-right: 10px;
width: 70px;
height: 40px;
}
</style>
<script src="JavaScript.js"></script>
</head>
<body onload= "tabla()"></body>
</html>
&#13;
答案 0 :(得分:0)
将函数注册为事件回调时,您不是要调用该函数,只想引用它:
改变这个:
document.getElementById("Btn" + i + j).onclick = Datos();
到此:
document.getElementById("Btn" + i + j).onclick = Datos;
最后的括号会导致Datos
函数立即运行并更改您的位置。