js里用location.href跳转
functiontest(){vartable=document.getElementById("rule");varstuIds="";varrows=table.ro...
function test(){
var table = document.getElementById("rule");
var stuIds = "";
var rows = table.rows.length;
for(var i=1 ;i <= rows ;i++){
stuIds = stuIds + table.rows[i].cells[0].innerHTML;
alert(stuIds);
}
location.href="ReteResult.jsp?stuIds="+stuIds;
}
<input value="点我" type="button" onclick="test()">
不加这段 循环
for(var i=1 ;i <= rows ;i++){
stuIds = stuIds + table.rows[i].cells[0].innerHTML;
alert(stuIds);
}
可以跳转;
加了循环,alert可以循环显示,但是不跳转。试过window.location.href也不行。 展开
var table = document.getElementById("rule");
var stuIds = "";
var rows = table.rows.length;
for(var i=1 ;i <= rows ;i++){
stuIds = stuIds + table.rows[i].cells[0].innerHTML;
alert(stuIds);
}
location.href="ReteResult.jsp?stuIds="+stuIds;
}
<input value="点我" type="button" onclick="test()">
不加这段 循环
for(var i=1 ;i <= rows ;i++){
stuIds = stuIds + table.rows[i].cells[0].innerHTML;
alert(stuIds);
}
可以跳转;
加了循环,alert可以循环显示,但是不跳转。试过window.location.href也不行。 展开
展开全部
那肯定是你加了之后你的url非法格式了,当然不跳转了,你直接拼接innerHTML容易出错的,有的东西是不能直接拼接的,例如转义字符或者空格什么的,中文参数过长什么的还要使用encodeComponent或者encode方法呢。
function test() {
var table = document.getElementById("rule");
var stuIds = "";
// 命名要规范,不然rows和长度实在难以凑到一起去想象。
var len = table.rows.length;
// 这里i从0开始,索引都是从0开始,不是1
// 这里不要等于len,不然最后一个undefined
for (var i = 0; i < len; i++) {
// 这里累加就好,简洁为上
stuIds += table.rows[i].cells[0].innerHTML;
}
// 在这里F12控制台输出信息,看看到底是什么乱七八糟的东西
// 是不是和你的后台所需要的参数一致
// 一般来说都有分隔符分割每个学生的id,你直接累加,试问如何区分??
//到后台了,肯定是被分割的id,然后后台split切割什么的,得到数组
// 于是被操作进数据库。
console.debug(stuIds);
// location.href和window.location.href是一个意思,
// locatin就是window的对象属性,默认window是全局性质,
// 任意全局变量都是他的对象属性,不写window就是默认他
location.href = "ReteResult.jsp?stuIds=" + stuIds;
}
<input value="点我" type="button" onclick="test()">
最后,最重要的,采纳即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询