<script type="text/javascript">
function setClf()
{
...
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';
return;
}
} </script>
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="setClf();" />
想在sum1!=sum2时不执行Button1_Click但是能执行到alert("总人数不对,请检查" ) Button1_Click也能正常执行
function setClf()
{
...
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';
return;
}
} </script>
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="setClf();" />
想在sum1!=sum2时不执行Button1_Click但是能执行到alert("总人数不对,请检查" ) Button1_Click也能正常执行
,想在sum1!=sum2时不执行,要怎么办?
{
...
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';
return false;
}
else
{
return true;
}
//试试这么改
OnClientClick="setClf();"
-〉
OnClientClick=" return setClf();" //试试
function setClf(){if(sum1!=sum2)
{
alert("总人数不对,请检查" )
document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';
return false;
}
}
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="javascript:return setClf();" />
想在sum1!=sum2时不执行Button1_Click但是能执行到alert("总人数不对,请检查" ) Button1_Click也能正常执行
没能看明白你这句话的意思,在sum1!=sum2时到底要不要执行Button1的服务端事件呢?
当sum1!=sum2不执行Button1_Click 肯定会执行了
你只有去后台Button1_Click再加次判断了
function setClf()
{
...
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
return false;
}
return true;
} </script>
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="return setClf();" />
还是不行
OnClientClick="return test()" OnClick="Button1_Click"
OnClick事件是根据OnClientClick事件的返回值判断是否执行;返回False不执行 否则就执行行
function setClf()
{
...
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
return false;
}
return true;
} </script>
加上改这样的就行了
谢谢
if(sum1!=sum2)
{
alert("总人数不对,请检查" )
document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';
return false;
}
}
你确定执行到return false;了吗?,这里面的代码全去掉只留个return false;试试,可能你的js有问题
if(sum1!=sum2)
{
return false;
}
注意红色部分,要加return返回值,js代码判断条件返回false;即可阻止button执行服务器端代码
但二次按时OnClick="Button1_Click",还是执行了后台的程序