2011-12-01 114 views
2

我在javascript中调用__dopostback函数,同时关闭了浏览器的事件,但它在Chrome中不起作用。__dopostback在javascript函数中不工作

相同的功能在IE中工作

可以任何一个给我的解决方案。

<script type="text/javascript" language="javascript"> 
function doUnload() 
{ 
var btnlogout = document.getElementById("ctl00_lbtn_Logout"); alert(btnlogout); 
__doPostBack(btnlogout, ''); 
} 
</script> 

回答

0

只要做到:

btnlogout.click(); 

因为你已经有了对按钮的引用,顺便说一下,不要按照你所做的方式获取元素;做到这一点,而不是:

var btnlogout = document.getElementById("<%=btn_Logout.ClientID%>"); 
+0

我得到这个错误,如果我使用代码块。 “Controls集合不能被修改,因为控件包含代码块(即<% ... %>)。” – janakiakula

0

请尽量getElementById这样

var btnlogout = document.getElementById('<%= lbtn_Logout.ClientID %>'); 
alert(btnlogout) 

,并再次测试,它会运行

0

dopostback(clientID的,参数)的第一个参数必须一个控件的clientid,它是一个字符串,而不是对象(当然字符串是对象).. 在你的情况下,我假设是'ctl00_lbtn_Logout',传递正确的参数如下:

__doPostBack('<%= downloadUp.ClientID %>', current_index); 

如果你的控制是服务器端控制,变“downloadUp”你控制的ID,否则你只需要通过ID

0

当执行__doPostBack,你需要通过JavaScript来传递控件的UniqueID的。 ClientID不起作用。