setTimeout函数问题

me514336779 2015-07-27 02:59:01
发现在母版时服务器控件ID号会被改变,document.getElementById(warningMsg")无法找到正确的控件,最后查资料说<%= this.warningMsg.ClientID %>可以获得正确ID,但是这种方法在js文件中无效,必须在页面才能正确解析,所以现在采用下面的办法结果发现 window.setTimeout函数再调用函数有多个参数是无效,调试好久了,有木有大牛来帮忙解释一下呀。


.js文件代码
function RefreshData(time,Ele,url) {
Ele.innerHTML = "将在" + time + "秒后自动跳转";
if (time == 0) {
window.location = url; //url为到时跳转的页面URL
}
}

function Update(secs,Ele,url) {
for (var i = secs; i >= 0; i--) {
var code = 'RefreshData(' + i + ',' + Ele + ',' + url + ')';
window.setTimeout(code, (secs - i) * 1000);
}
}

此处代码有问题
var code = 'RefreshData(' + i + ',' + Ele + ',' + url + ')';
window.setTimeout(code, (secs - i) * 1000);
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
me514336779 2015-07-27
  • 打赏
  • 举报
回复
引用 3 楼 ajianchina 的回复:
我就没搞明白你是怎么想的,既然是放在母版页,有什么不行吗。跟你最开始的设想是完全一致的,只要写一次,不用每页改的。

<div id="aa">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>

//取textbox1
var textbox1 = document.getElementById("aa").childNodes[0];
这样就行了,我不明白你是这样设计的,居然会想到要每页都改。
因为这个label在内容页的标签里,可能我开始没有说清楚,我是发现因为用了母版页导致处理时会改变ID名。主要是想搞清楚我写的那个函数有什么问题,现在已经解决啦,还是谢谢你了。
ajianchina 2015-07-27
  • 打赏
  • 举报
回复
我就没搞明白你是怎么想的,既然是放在母版页,有什么不行吗。跟你最开始的设想是完全一致的,只要写一次,不用每页改的。

<div id="aa">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>

//取textbox1
var textbox1 = document.getElementById("aa").childNodes[0];
这样就行了,我不明白你是这样设计的,居然会想到要每页都改。
me514336779 2015-07-27
  • 打赏
  • 举报
回复
引用 1 楼 ajianchina 的回复:
其实我觉得你是可以找到那个控件的,不管他变成什么id 在母版页中把这个控件弄个div包一下,静态的id总不会变了吧,然后在aspx页面通过getElementById取到这个div,然后对他childNodes找到下面的这个控件就行了。
这种方法不能治本嘛,如果很多页面用了这个函数岂不是每个页面都要改过来呀,主要是想弄明白错误的原因。
ajianchina 2015-07-27
  • 打赏
  • 举报
回复
其实我觉得你是可以找到那个控件的,不管他变成什么id 在母版页中把这个控件弄个div包一下,静态的id总不会变了吧,然后在aspx页面通过getElementById取到这个div,然后对他childNodes找到下面的这个控件就行了。
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧