在我們開發的程式裏面,很多需要透過javascript來先進行資料的驗證(判斷欄位長度,輸入字元格式..)
有一些程式在完成輸入動作送出至伺服端之前先需透過javascript先行檢查
因此我們利用asp.net的linkbutton來完成資料送出至伺服器端的控制項(因為linkbutton是隱藏看不見的)
因為需觸發linkbutton的click事件來完成將網頁送出的動作
所以我們必需透過javascript程式來執行以下的事件。
window.document.getElementById("lbtnGO").click();
在我們遇到的例子中,不巧的是,這樣的事件觸發只允許在ie,
在其他瀏覽器並沒有辨法執行~試著以下的程式碼來取代原先的getElementById.click事件。
__doPostBack('lbtnGO', '')
而doPostBack並非執行click事件,只是單純地把網頁submit回伺服器端,
因此我們需要在server端的Page_Load中再自行判斷,
在Page_Load的程式區塊中,加上Request.Form("__EVENTTARGET") 來判斷觸發的控制器來源。
可以試著用以下的程式碼來取代原先的click事件。
If Page.IsPostBack = True Then
If Request.Form("__EVENTTARGET") ="lbtnGO" Then
' 原先click事件的程式碼
End If
End If
- Mar 27 Fri 2009 10:07
[.net]ASP.Net解決FireFox的getElementById.Click事件
全站熱搜
留言列表
禁止留言