2011-12-01 210 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不起作用。