<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也能正常执行

解决方案 »

  1.   

    但是Button1_Click也能正常执行
    ,想在sum1!=sum2时不执行,要怎么办?
      

  2.   

    function setClf()  
      {  
        
        
    ...
      if(sum1!=sum2)
      {
      alert("总人数不对,请检查" )  
      document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick='';  
      return false;
      }
      else
      {
        return true;
      }  
        
      //试试这么改
      

  3.   

    OnClientClick="return setClf();"setclf中return false or true
      

  4.   

    <asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="setClf();" />
    OnClientClick="setClf();" 
    -〉
    OnClientClick=" return setClf();" //试试
      

  5.   


    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();" />
      

  6.   


    想在sum1!=sum2时不执行Button1_Click但是能执行到alert("总人数不对,请检查" )  Button1_Click也能正常执行

    没能看明白你这句话的意思,在sum1!=sum2时到底要不要执行Button1的服务端事件呢?
      

  7.   

    想在sum1!=sum2时不执行Button1_Click点击Button1首先会执行客户端的OnClientClick,然后是服务器端的Button1_Click事件,
    当sum1!=sum2不执行Button1_Click  肯定会执行了
    你只有去后台Button1_Click再加次判断了
      

  8.   

    <script type="text/javascript">
       
    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();" />
      

  9.   

    OnClientClick="javascript:return setClf();" 
    还是不行
      

  10.   

    可以一起用!
    OnClientClick="return test()" OnClick="Button1_Click"
    OnClick事件是根据OnClientClick事件的返回值判断是否执行;返回False不执行 否则就执行行
      

  11.   

    <script type="text/javascript">
        
    function setClf()  
      {  
        
        
    ...
      if(sum1!=sum2)
      {
      alert("总人数不对,请检查" )  
      return false;
      }
        
      return true;
      }      </script>
    加上改这样的就行了
    谢谢
      

  12.   


    if(sum1!=sum2)
      {
      alert("总人数不对,请检查" ) 
      document.getElementById('ctl00$ContentPlaceHolder1$Button1').onclick=''; 
      return false;
      }
    }
    你确定执行到return false;了吗?,这里面的代码全去掉只留个return false;试试,可能你的js有问题
      

  13.   

    这个问题简单,如下解决:<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" CssClass="Bgseted" OnClientClick="return setClf();" />
    if(sum1!=sum2)
    {
    return false;
    }
    注意红色部分,要加return返回值,js代码判断条件返回false;即可阻止button执行服务器端代码
      

  14.   

    再次确认时,反正第一次按提交按钮后,OnClick="",得到想要的效果了,
    但二次按时OnClick="Button1_Click",还是执行了后台的程序