我们Button的OnClick事件调用服务器端代码。使用OnClientClick事件调用客户端代码。代码如下:
<
asp:Button
ID
="btnSave"
runat
="server"
CssClass
="btn"
OnClick
="btnSave_Click"
Text
="保 存"
OnClientClick
="return checkControl();"
/>
说明:btnSave_Click为服务器端保存事件。
checkControl()为保存前在前端用js进行检查的js方法,js代码如下。
function
checkControl()
{
var
vApyName
=
document.getElementById(
"
txbApyName
"
).value;
if
(vApyName.length
<=
0
)
{
alert(
"
'申请人姓名'不能为空!
"
);
document.getElementById(
"
txbUrlList
"
).focus();
document.getElementById(
"
txbUrlList
"
).select();
return
false
;
}
}
注:
为什么要在OnClientClick事件中加上return?
因为开始时,我并没有加上return语句,发现执行完js方法后仍然执行后台的click事件。原来的代码如下:
<
asp:Button
ID
="btnSave"
runat
="server"
CssClass
="btn"
OnClick
="btnSave_Click"
Text
="保 存"
OnClientClick
="checkControl();"
/>
总结:
用 OnClientClick验证我们的提交数据时,一定要返回ture或者false,即一定要加上return,否则OnClick失效。 当返回false时OnClick服务器端事件才被中止。