做網頁經常要和JavaScript打交道,經常要用JavaScript做一些客戶端的驗證,但是如果我們的按鈕用的是HTML控件的話,驗證通過後無法調用後台代碼,如果用服務器端控件,驗證不通過有要刷新頁面,這個有時候挺煩人的,能不能讓服務器段的按鈕調用客戶端的驗證,如果驗證成功後在調用服務器端的方法,這樣既減少了網路傳輸,給用戶感覺也好。
當我們用模板列做刪除數據的時候一般都會返回一個對話框詢問用戶是否確認,其實我們是通過修改模板列裡的button的OnClientClick屬性將其值設為 return confirm("你確認刪除該條記錄嗎"); 我們可以分析一下,confirm返回的是個bool值,如果我的button返回的結果也是個bool應該也可以吧,我猜對了,比如有下面一些代碼
function judgeUserInput()
{
bool result = true;
if(驗證未通過)
{
result = false;
alert("請檢查您的輸入是否正確");
}
return result;
}
那麼我們把button OnClientClick設置成 return judgeUserInput();就可以了!
function validion(regex,elementName,alertStr)
{
var htmlObj = document.getElementById(elementName);
if( htmlObj.value!="" )
{
if(regex.test(htmlObj.value))
{
return true;
}
else{alert(alertStr);
return false;
}
}
if( htmlObj.value=="")
{
return true;
}
}
然後調用的