调用js时,系统总提示“缺少对象”,怎么办?

zhangxd160 2012-03-25 03:00:47
<script type="text/javascript">
function Check_textbox()
{
var a=document.getElementById("txtclsclc").value; var b=document.getElementBYId("txtclbclc").value;
if(parseInt(a)>parseInt(b))
{
alert("本次里程应大于等于上次里程");
document.getElementBYId("txtclbclc").focus();
}
}
</script>这个为什么提示“缺少对象”,各位帮看一下。

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提 交"
onchange="return Check_textbox()" />
...全文
625 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
adonis_net 2012-03-27
  • 打赏
  • 举报
回复
运行一次,查看下生成的页面上该控件的ID.
木______木 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhangxd160 的回复:]
<script type="text/javascript">
function Check_textbox()
{
var a=document.getElementById("txtclsclc").value; var b=document.getElementBYId("txtclbclc").value;
if(parseInt(a)>parseInt(b))
{
……
[/Quote]
getElementById("xxx")
dongt1 2012-03-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jjkk168 的回复:]
var b=document.getElementBYId('<%=txtclbclc.ClientID %>').value;
[/Quote]获取的应该是客户端id
酷儿 2012-03-26
  • 打赏
  • 举报
回复
楼主最简单的方法。你运行的时候查看一下源文件。看看你编译运行后的ID是多少就明白了。编译后的肯定不是那个ID了。因为你使用了runat=server
laokaizzz 2012-03-26
  • 打赏
  • 举报
回复 1
黄色字!啊,我的眼睛~~~·
chen_ya_ping 2012-03-26
  • 打赏
  • 举报
回复
看看你的那个控件的id是不是你输入的,服务端的控件的id有很多都是会自动改变的。
还想懒够 2012-03-25
  • 打赏
  • 举报
回复
var b=document.getElementBYId('<%=txtclbclc.ClientID %>').value;
孟子E章 2012-03-25
  • 打赏
  • 举报
回复
那就是没有这个客户端的id="txtclsclc"啊,注意服务器端的id不一定转换成相同的客户端 id的
yyl8781697 2012-03-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wanghui0380 的回复:]

在生成的页面右键看html源代码,看看生成的控件id是否是你想象中的id

asp.net4以下版本,服务器控件生成的id是和控件层级相关的“魔法id”,所以才会用2楼混搭的方法去获取动态的控件id

asp.net4以上可以选择静态id的生成方式,以避免这种混乱(这是asp.net4的可选项,默认生成还是动态的魔法id)
[/Quote]
++
如果是用了服务器控件最好是看着html来调试,估计你要获取的那个id的值可能已经不是你原来的值了
wanghui0380 2012-03-25
  • 打赏
  • 举报
回复
在生成的页面右键看html源代码,看看生成的控件id是否是你想象中的id

asp.net4以下版本,服务器控件生成的id是和控件层级相关的“魔法id”,所以才会用2楼混搭的方法去获取动态的控件id

asp.net4以上可以选择静态id的生成方式,以避免这种混乱(这是asp.net4的可选项,默认生成还是动态的魔法id)
porschev 2012-03-25
  • 打赏
  • 举报
回复


把你Button中的onchange改为OnClientClick
porschev 2012-03-25
  • 打赏
  • 举报
回复

都是服务器控件吗?

首先要确定这个控件ID你没写错



function Check_textbox()
{

var a = document.getElementById("<%=txtclsclc.ClientID %>").value
var b = document.getElementById("<%=txtclbclc.ClientID %>").value
if(parseInt(a)>parseInt(b))
{
alert("本次里程应大于等于上次里程");
document.getElementById("<%=txtclbclc.ClientID %>").focus();
}
}

happytonice 2012-03-25
  • 打赏
  • 举报
回复
1. txtclsclc, txtclbclc,这两个文本框有没有
2. <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提 交"
onchange="return Check_textbox()" />
button的onchange事件有没有,button如何change?

62,268

社区成员

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

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

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

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