在关闭浏览器事件时在javascript中调用__dopostback
函数,但它无法在Chrome中运行。
同样的功能在IE中工作
任何人都可以给我解决方案。
<script type="text/javascript" language="javascript">
function doUnload()
{
var btnlogout = document.getElementById("ctl00_lbtn_Logout"); alert(btnlogout);
__doPostBack(btnlogout, '');
}
</script>
答案 0 :(得分:0)
我认为你应该将btnlogout
id作为字符串传递(不确定你是否必须删除ctl00
因为它是一个子控件)因为函数需要文本而且它可能在服务器上的请求..
看看这篇文章: http://wiki.asp.net/page.aspx/1082/dopostback-function/
答案 1 :(得分:0)
只是做:
btnlogout.click();
因为你已经有了对按钮的引用,顺便说一下,不要按照你的方式获取元素;这样做:
var btnlogout = document.getElementById("<%=btn_Logout.ClientID%>");
答案 2 :(得分:0)
请尝试以getElementById
这种方式
var btnlogout = document.getElementById('<%= lbtn_Logout.ClientID %>');
alert(btnlogout)
再次测试,它会工作..
答案 3 :(得分:0)
dopostback(clientID,args)的第一个参数必须是控件的clientid,它是一个字符串,而不是对象(当然字符串是对象).. 在你的情况下,我假设是'ctl00_lbtn_Logout',传递正确的参数如:
__doPostBack('<%= downloadUp.ClientID %>', current_index);
如果您的控件是服务器端控件,请将“downloadUp”更改为您控件的ID,否则您只需传递ID
答案 4 :(得分:0)
在执行__doPostBack时,您需要通过javascript传递控件的UniqueID。 ClientID不起作用。