ACP*_*ACP 16 javascript function
如何在按钮点击事件上调用多个函数?
这是我的按钮,
<asp:LinkButton
ID="LbSearch"
runat="server"
CssClass="regular"
onclick="LbSearch_Click"
OnClientClick="return validateView();ShowDiv1();">
Run Code Online (Sandbox Code Playgroud)
但我ShowDiv1没有被称为......
我的JavaScript功能:
function ShowDiv1() {
document.getElementById("ReportDiv").style.display = 'block';
return false;
}
function validateView() {
if (document.getElementById("ctl00_ContentPlaceHolder1_DLCategory").selectedIndex == 0) {
document.getElementById("ctl00_ContentPlaceHolder1_ErrorMsg").innerHTML = "Please Select Your Category";
document.getElementById("ctl00_ContentPlaceHolder1_DLCategory").focus();
return false;
}
if (document.getElementById("ctl00_ContentPlaceHolder1_DLEmpName").selectedIndex == 0) {
document.getElementById("ctl00_ContentPlaceHolder1_ErrorMsg").innerHTML = "Please Select Your Employee Name";
document.getElementById("ctl00_ContentPlaceHolder1_DLEmpName").focus();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
如果ValidateView()函数返回true,我应该调用ShowDiv1().
Joh*_*n K 28
因为您从第一个方法调用返回,所以第二个不执行.
尝试类似的东西
OnClientClick="var b = validateView();ShowDiv1(); return b"
Run Code Online (Sandbox Code Playgroud)
或扭转局面,
OnClientClick="ShowDiv1();return validateView();"
Run Code Online (Sandbox Code Playgroud)
或者如果div1对验证例程有依赖关系.
OnClientClick="var b = validateView(); if (b) ShowDiv1(); return b"
Run Code Online (Sandbox Code Playgroud)
最好的方法是将多个内联语句封装到这样的迷你函数中,以简化调用:
// change logic to suit taste
function clicked() {
var b = validateView();
if (b)
ShowDiv1()
return b;
}
Run Code Online (Sandbox Code Playgroud)
然后
OnClientClick="return clicked();"
Run Code Online (Sandbox Code Playgroud)