本来要做一个看似比较简单的功能,就是回车登录,结果因为用了net2.0的母版页,一些常规方法都失效了,搞的我很郁闷,用了三种方法最终才成功
先说一下我失败的几个:
<script language="javascript" event="onkeydown" for="document">
if(event.keyCode==13)
{
documen.getElementById('<%=对象ID。ClientID%>').focus();
documen.getElementById('<%=对象ID。ClientID%>').click();
}
</script>
================================================================
<script language="javascript" event="onkeydown" for="document">
if(event.keyCode==13)
{
documen.getElementById('对象ID').focus();
documen.getElementById('对象ID').click();
}
</script>
================================================================
<script language="javascript" event="onkeydown" for="document">
if(event.keyCode==13)
{
documen.内容页ID/母版页ID.对象ID.focus();
documen.内容页ID/母版页ID.对象ID.click();
}
</script>
================================================================
以上几个要么就是编译都不通过,要么就是“没有该属性或方法”这样的错误,
后来跟踪调试,打开源文件,找到对象,你会发现其ID自动加ct100_母版页的容器名_元素ID
于是又换一种写法
下面是正确写法:
<script language="javascript" event="onkeydown" for="document">
if(event.keyCode==13)
{
document.all('ctl00$ContentPlaceHolder1$btn_login').focus();
document.all('ctl00$ContentPlaceHolder1$btn_login').click();
}
</script>