很多時候,我們需要對服務器控件的輸入內容進行驗證,如果在后台.cs頁面進行驗證,則會刷新頁面,在用戶體驗和效率方面都不划算,其實完全可能在客戶端使用javascript進行驗證,只要編寫客戶端事件OnClientClick便可以了。OnClientClick會在OnClick事件之前觸發。如果OnclientClick事件函數返回false,那么控件不再回傳,即OnClick事件也不會再執行。見下例:
<script type="text/javascript">
function check() {
var input = document.getElementById("text1").value;
if(input == null || input == "")
{
alert("文本框不能為空!");
return false;
}
return true;
}
</script>
<div>
<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="summitBtn" runat="server" Text="提交" OnClick="summitBtn_Click" OnClientClick="return check();" />
</div>
因為check()函數有返回值,所以前面的return關鍵字不能漏掉。如果檢驗通過,即返回true,則summitBtn_Click會繼續執行,可以在summitBtn_Click中對表單的數據進入數據庫操作。
