JS读取不到控件值的原因?

hcxyhxh 2016-05-07 08:48:23
html>
<head>
<title></title>
<script>
window.onload=function(){
Loaddata();//本函数中修改了test.innerhtml 以及Page控件的value值
alert(document.getElementById("Page").value);//显示Page控件的value值
};
</script>
</head>
<body>
<div id="test"></div>
<input type="hidden" id="Page"/>
</body>
</html>
问题: 为什么alert弹出的值一直是空的?而且,只有我先点击了alert的窗口的确定按钮以后,test.innerhtml的内容才加载?
...全文
280 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
szjarvis 2016-05-09
  • 打赏
  • 举报
回复
Loaddata()中是否使用了异步ajax,改成同步试下。
  • 打赏
  • 举报
回复
异步回调操作是高效率的逻辑,在脚本中是很常见的。如果你进行断点、跟踪打印、调试,你会发现程序逻辑是“两阶段式”的。 如果脑袋里边没有这个基本的两阶段编程模型,只有“一根筋”,那么就无法想象出异步操作逻辑,就会遇到你这类问题。
  • 打赏
  • 举报
回复
谁知道你的 Loaddata 中是怎么写的呢? 如果你的代码逻辑异步回调的高效率逻辑,那么你的 alert 就应该安排到回调之后才显示。在回调之前,自然 value 只是初始值。
hcxyhxh 2016-05-07
  • 打赏
  • 举报
回复
Loaddata()访问了数据库
人生导师 2016-05-07
  • 打赏
  • 举报
回复
应该是你的Js写错了,你应该是document.Ready函数里面写这个脚本

62,041

社区成员

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

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

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

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