在我們開發的程式裏面,很多需要透過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
有一些程式在完成輸入動作送出至伺服端之前先需透過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
文章標籤
全站熱搜

問一個跟這篇文沒關係,但也是IT問題! 我最近學會用gmail閱讀器訂閱RSS,看別人的格就方便多了! 為什麼你沒有RSS? 阿~靠邀,我發現了,在右下下下...很下面的角落!害我多寫了! 灌你水~
邀受咧~我這個人好像有「完美」強迫症!連灌別人水,都不容許有錯! 是左下下下...角落啦!金討厭~~
姐姐,這個google reader真的很棒 有個東西還滿好玩的,叫plurk...妳可以試試啊