document.getElementById('" + Button2.ClientID + "').click(); 问题

问题描述

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();",为什么就说找不到getElementById为null

解决方案

解决方案二:
string.Format("document.getElementById('{0}')",Button2.ClientID);
解决方案三:
还是不行呀
解决方案四:
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('Button2').click();",
解决方案五:
因为你的button2控件事服务器控件,他的clientID属性在IE生成六览的时候会自动加上前缀,然后和你是用clientID获得的组成一个新的ID,所以在客户端你是找不到的!
解决方案六:
完全没有问题我刚试验过了Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();");请注意你的拼写好像少个括号Button2.ClientID就是指客户端控件id没有任何问题
解决方案七:
我刚用2005(汗),用这个方法也找不到,即使用Button2.ClintId也不行,而且查看html代码,发现document.getElementById()的参数跟html控件Id是一样的,另外document.all也不行
解决方案八:
ClientScript.RegisterClientScriptBlock(this.GetType(),"empty","<scriptlanguage="javascript"type="text/javascript">alert('"+txt.ToolTip+"');document.getElementById('"+txt.ClientID+"').focus();</script>");这是我的代码
解决方案九:
总算折腾明白了因为RegisterClientScriptBlock注册脚本位置是在是在form之后第一行,此时客户端Button2还没有生成,所以无法点击click()所以你可以使用RegisterStartupScript注册脚本位置是form结束之前最后一行,此时客户端Button2已经生成还有就是你必须加上一个参数true以确保输出<script></script>标签ClientScript.RegisterStartupScript(Page.GetType(),"","document.getElementById('"+Button2.ClientID+"').click();",true);
解决方案十:
所以注册脚本时如果语句中有click()或者focus()必须保证客户端控件产生以后才可以此时建议使用RegisterStartupScript如果只是注册一些客户端函数当然RegisterClientScriptBlock是完全可以的

时间: 2024-09-30 11:17:21

document.getElementById(&amp;#x27;&amp;quot; + Button2.ClientID + &amp;quot;&amp;#x27;).click(); 问题的相关文章

&amp;amp;#x27;document.getElementById(...)&amp;amp;#x27; 为空或不是对象

问题描述 请大家帮忙看看.functiont_setpw(gname,btnid,msg){vargv=document.getElementById(gname);varcb=document.getElementsByTagName("input");varj=0;varselectedvalue="";for(vari=0;i<cb.length;i++){if(cb[i].type=="checkbox"&&cb[i

jquery中的 $(&amp;quot;#jb51&amp;quot;)与document.getElementById(&amp;quot;jb51&amp;quot;) 的区别_jquery

在今天写一个canvas的小程序时,才发现这两者是不一样的. 直接用alert()来显示这两个方法倒底获得的是什么.代码如下: 复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>jb51</title> <link href="css/index.css" rel="stylesheet&

document.getElementById(&amp;amp;quot;sUser&amp;amp;quot;).innerHTML=user

问题描述 document.getElementById("sUser").innerHTML=user;是什么意思?详解.谢谢 解决方案 解决方案二:document.getElementById("sUser").innerHTML=user;给标签id为sUser的的内部插入HTML的user解决方案三:user为一个变量把这个值赋值给ID为sUser的控件解决方案四:设置sUser元素的HTML;user是个字符串变量.解决方案五: 解决方案六:--!获取标

JS中的eval和document.getElementById

js eval和document.getElementById都能把字符串转化为对应的对象或是数值,但两者之间还是有区别的,请看以下几个例子:假如页面上存在ID为aaa的标记,以下a和b得到的是一样的结果var a=eval('aaa'); var b=document.getElementById('aaa'); var a=eval('aaa');var b=document.getElementById('aaa');如果页面上不存在aaa标记,则eval将发生错误,document.ge

document.getElementById的一些细节

① document.getElementById 有时会抓name放过了id ,据说是IE的一个BUG:http://community.csdn.net/Expert/topic/4223/4223888.xml?temp=.1947443 页面中有<input type="hidden" id="hello8" name="category_id" value="2" /><select id=&quo

document.getElementById的简写方式

Mr.Think是一个喜欢简洁的人,喜欢如诗一样的代码.不喜欢.NET的代码,就是因为经常看到同事用VS后生成出来的一段段冗长的代码.在我的思维中,JavaScrip是一种很飘逸的语言,所以,写给TA的代码,也一定要做到飘逸,呵.比如用_$(id)代替document.getElementById(id). 个人比较推荐用prototype中对document.getElementById的定义: function $(){   var elements = new Array();   for

TypeError document.getElementById(...) is null错误原因

  这篇文章主要介绍了TypeError document.getElementById(...) is null错误原因,这是很容易犯的一个低级错误,需要的朋友可以参考下 今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is null 这个错误,代码看了几遍,语法上没找着什么错误,没办法,就在互联网上搜索了一下,才发现 document.getElementById 这个根据id找节点的语法写法还是有点讲究的,

document.getElementById介绍_javascript技巧

把你的大脑当做浏览器执行下面的代码两次,分别是IE6和IE9: 复制代码 代码如下: function testFunc(){ alert('test') } $(function(){ var g = document.getElementById , w = window.testFunc ; //g alert(typeof(g)); alert(String(g)); alert(g instanceof Object); alert(g instanceof Function); //

window opener-window.opener.document.getElementById()获取不到值

问题描述 window.opener.document.getElementById()获取不到值 同样的XP系统IE8浏览器,为什么有的机子上使用在子页面window.opener.document.getElementById()后父页面没有显示传过来的值,江湖救急,这个弄不好要加班啊,大部分机子都是没问题的,是不是IE要设置什么?