function CheckSubmit() {
    var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
    var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
    if (trim(txtTitle.value) == "") {
        alert("请输入公告标题!");
        txtTitle.focus();
        return false;
    }
    if (trim(txtContext.value) == "") {
        alert("请输入公告内容!");
        txtContext.focus();
        return false;
    }
    return true;
}<asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="return CheckSubmit()" OnClick="btnAdd_Click" />

解决方案 »

  1.   

    如果确定你的js没错误 ,你在  form的 onsubmit="return CheckSubmit()" 试试看
      

  2.   

    OnClientClick="javascript:return CheckSubmit();"
      

  3.   

    代码没错了,加个UpdatePanel了试试
      

  4.   

    js是没有错误的,在火狐浏览器中测试没问题,但是IE和360的就不行,其他浏览器就不知道了...
      

  5.   

    你确定你的js返回的是false??怎么感觉你返回的是truefunction CheckSubmit() {
        var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
        var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
        if (trim(txtTitle.value) == "") {
            alert("请输入公告标题!");
            txtTitle.focus();
            alert("false");
            return false;
        }
        if (trim(txtContext.value) == "") {
            alert("请输入公告内容!");
            txtContext.focus();
            alert("false");
            return false;
        }
        alert("true");
        return true;
    }
    输出看看提示是怎么样的?
      

  6.   

    加上
    function trim(stringToTrim) {return stringToTrim.replace(/^\s+|\s+$/g,"");}
      

  7.   

    //去空格
    function trim(strname) {
        return strname.replace(/(^\s*)|(\s*$)/g, "");
    }
    我自己写的去空格,这个没问题,if能进入
      

  8.   

    因为你的js函数最终的返回结果都是true
    把你的return true;
    加到else里面试试
      

  9.   

    换到IE下看吧。 断点开启。 这还找不到问题!!! 感觉还是JS的问题。
      

  10.   


      function CheckSubmit() {
          
        var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
        var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
        if (txtTitle.value == "") {
            alert("请输入公告标题!");
            txtTitle.focus();
            return false;
        }
        if (txtContext.value == "") {
            alert("请输入公告内容!");
            txtContext.focus();
            return false;
        }
        return true;
    }
    去掉trim函数
      

  11.   

    如果进入if那么就会返回false,return就是跳出整个方法,return下面的代码就不会执行了,这里没错的。
      

  12.   

    var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
    var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");正确的写法应该这样写
    var txtTitle = document.getElementById("<%=txtTitle.ClientID%>");
    var txtContext = document.getElementById("<%=txtContext.ClientID%>");如果上面txtTitle 的值没错,应该是没问题的
      

  13.   

    帖 trim函数方法出来、百分之一千是这儿的问题
      

  14.   

    我来给大家解释下,我把代码修改为这样:
    function CheckSubmit() {
        var bl = true;
        var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
        var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
        if (trim(txtTitle.value) == "") {
            alert("请输入公告标题!");
            txtTitle.focus();
            bl = false;
        }
        if (trim(txtContext.value) == "") {
            alert("请输入公告内容!");
            txtContext.focus();
            bl = false;
        }
        return bl;
    }结果两个if都能进入,可以肯定的是bl绝对是false,但是按钮还是提交了,晕啊,这个问题困扰了一天了。
      

  15.   

      String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
    }
              
               function CheckSubmit() {
          
        var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
        var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
        if (txtTitle.value.trim() == "") {
            alert("请输入公告标题!");
            txtTitle.focus();
            return false;
        }
        if (txtContext.value.trim()  == "") {
            alert("请输入公告内容!");
            txtContext.focus();
            return false;
        }
        return true;
    }
    这样就OK了、
      

  16.   

    去掉trim吧,js没trim,运行到trim就报错,导致js执行错误。
      

  17.   

    加上、<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    再报错你自己哭去吧
      

  18.   

    看看你浏览器的internet 选项安全里,是否脚本是否启用了。
      

  19.   

    我把方法改为这样:
    function CheckSubmit() {
        if (1 == 1) {
            return false;
        }
        else {
            return true;
        }
    }
    结果提交了,我真想吐血
      

  20.   

    你有没有查看过浏览器中的源代码,  .net会自己生成某些js的,  说不定被影响了,   
    你在浏览器源代码下查看下你的submit按扭上的onclick=""里面是怎么回事
      

  21.   

    你有没有查看过浏览器中的源代码,  .net会自己生成某些js的,  说不定被影响了,   
    你在浏览器源代码下查看下你的submit按扭上的onclick=""里面是怎么回事
      

  22.   

    <!--新增通讯录 style="display: none;"-->
                            <div class="contentBox" id="divAdd" style="display: none;">
                                <h3 class="title">
                                    <span class="more"></span><b id="newUser">发布公告</b></h3>
                                <div class="neirong">
                                    <table cellspacing="0" border="0" class="tableBox">
                                        <tbody>
                                            <tr>
                                                <td align="right" width="18%">
                                                    <asp:Label ID="lblid" runat="server" Visible="False"></asp:Label>
                                                    标&nbsp; 题:
                                                </td>
                                                <td align="left">
                                                    <asp:TextBox ID="txtTitle" runat="server" Width="421" class="inputText" MaxLength="30"></asp:TextBox>
                                                    &nbsp;<span class="red">*</span>
                                                </td>
                                                <td width="32%" align="left">
                                                    <asp:Label ID="Label1" runat="server" Text=" "></asp:Label>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td align="right" width="18%">
                                                    内&nbsp; 容:<br />
                                                    <br />
                                                    <br />
                                                    <br />
                                                    <br />
                                                    &nbsp;
                                                </td>
                                                <td align="left">
                                                    <asp:TextBox ID="txtContext" runat="server" Height="190px" TextMode="MultiLine" Width="421px"
                                                        class="inputText" MaxLength="300"></asp:TextBox>
                                                    <span class="red">&nbsp;*</span>
                                                </td>
                                                <td width="32%" align="left">
                                                    &nbsp;
                                                </td>
                                            </tr>
                                            <tr>
                                                <td align="right" width="18%">
                                                    备&nbsp; 注:
                                                </td>
                                                <td align="left">
                                                    <asp:TextBox ID="txtRe" runat="server" Width="421" class="inputText"></asp:TextBox>
                                                </td>
                                                <td align="left" width="32%">
                                                    &nbsp;
                                                </td>
                                            </tr>
                                            <tr>
                                                <td colspan="3">
                                                    <label>
                                                        <asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="javascript:return CheckSubmit();"
                                                            OnClick="btnAdd_Click" />
                                                        &nbsp;</label>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <!--新增通讯录结束-->
      

  23.   

    function CheckSubmit1() {
        var bl = true;
        var txtTitle = document.getElementById("ContentPlaceHolder1_txtTitle");
        var txtContext = document.getElementById("ContentPlaceHolder1_txtContext");
        if (trim(txtTitle.value) == "") {
            alert("请输入公告标题!");
            txtTitle.focus();
            bl = false;
        }
        if (trim(txtContext.value) == "") {
            alert("请输入公告内容!");
            txtContext.focus();
            bl = false;
        }
        return bl;
    }function CheckSubmit() {
        if (1 == 1) {
            return false;
        }
        else {
            return true;
        }
    }//去空格
    function trim(strname) {
        return strname.replace(/(^\s*)|(\s*$)/g, "");
    }
      

  24.   

    <!--新增通讯录 style="display: none;"-->
                            <div class="contentBox" id="divAdd" style="display: none;">
                                <h3 class="title">                                <span class="more"></span><b id="newUser">发布公告</b></h3>
                                <div class="neirong">
                                    <table cellspacing="0" border="0" class="tableBox">
                                        <tbody>
                                            <tr>
                                                <td align="right" width="18%">
                                                    
                                                    标&nbsp; 题:
                                                </td>                                            <td align="left">
                                                    <input name="ctl00$ContentPlaceHolder1$txtTitle" type="text" maxlength="30" id="ContentPlaceHolder1_txtTitle" class="inputText" style="width:421px;" />
                                                    &nbsp;<span class="red">*</span>
                                                </td>
                                                <td width="32%" align="left">
                                                    <span id="ContentPlaceHolder1_Label1"> </span>
                                                </td>
                                            </tr>                                        <tr>
                                                <td align="right" width="18%">
                                                    内&nbsp; 容:<br />
                                                    <br />
                                                    <br />
                                                    <br />
                                                    <br />                                                &nbsp;
                                                </td>
                                                <td align="left">
                                                    <textarea name="ctl00$ContentPlaceHolder1$txtContext" rows="2" cols="20" id="ContentPlaceHolder1_txtContext" class="inputText" style="height:190px;width:421px;">
    </textarea>
                                                    <span class="red">&nbsp;*</span>
                                                </td>
                                                <td width="32%" align="left">
                                                    &nbsp;                                            </td>
                                            </tr>
                                            <tr>
                                                <td align="right" width="18%">
                                                    备&nbsp; 注:
                                                </td>
                                                <td align="left">
                                                    <input name="ctl00$ContentPlaceHolder1$txtRe" type="text" id="ContentPlaceHolder1_txtRe" class="inputText" style="width:421px;" />                                            </td>
                                                <td align="left" width="32%">
                                                    &nbsp;
                                                </td>
                                            </tr>
                                            <tr>
                                                <td colspan="3">
                                                    <label>
                                                        <input type="submit" name="ctl00$ContentPlaceHolder1$btnAdd" value="保 存" onclick="javascript:return CheckSubmit();" id="ContentPlaceHolder1_btnAdd" class="searchBtn" />                                                    &nbsp;</label>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            <!--新增通讯录结束-->
                        
      

  25.   

    LZ你真是不会找问题,
    首先你有没有试过去掉所有JS代码,直接return false,如下:
    <asp:Button ID="btnAdd" runat="server" Text="保 存" class="searchBtn" OnClientClick="return false;" OnClick="btnAdd_Click" />
    如果上述都不行,还讨论什么JS?
      

  26.   

    不是这段代码的问题。你可以把这些代码单独存储成文件进行测试。没有问题的。
    你要分析其他js导致的问题。其他js出错导致下面的代码错误的。
    你使用Firefox的错误控制台很快就能看到错误点
      

  27.   

    JS不是可以调试么,你调试一下看看,是否执行到"return false;"
      

  28.   

    用FireBug走一下JS。。利用“添加监控”看一下值,有没有错误
      

  29.   

    是否是“;”号的问题,我的记忆中以前onclientclick='XXX();',现在应该不用了---------------------------------------------------------------------
    刚出炉的群,深圳C#程序员请加QQ群:77234575
      

  30.   

    //去空格
    function trim(strname) {
        return strname.replace(/[ ]/g, "");
    }这样试下。。
      

  31.   

    服务器端控件的id发送到客户端,其值请通过下面的的方法获得:
    var txtTitle = document.getElementById("txtTitle");
    var txtContext = document.getElementById("txtContext");另外,把trim()函数去掉先
      

  32.   

    OnClientClick=“return CheckSubmit()”,我之前也出现过这个错,但是因为忘了加 return 了,不知道你是不是。
      

  33.   

    这两天我也被这个问题困扰了,最后还是没有解决,所有我换了一种方法,不再创建一个函数,然后在onclientclick事件里边进行调用了,而是换成了
    $("#btnAdd").click(function(){
    //里边写上需要执行的内容
    });
    然后去掉你标签里边的那个onclientclick=····就可以了,这个方法就解决了这个问题,我同学的毛病也是这个方法解决的,但是关于LZ说的为什么onclientclick不可以,我就不知道,我才刚刚开始学,不知道原理,能想出这个办法来,已经让我绞尽脑汁了,如果LZ只是为了解决问题,那就可以了,如果想知道为什么你的不可以,那就去请教高手们吧
      

  34.   

    另外,我刚刚把你的代码写了一遍,我的没问题,能正常运行,达到你要的效果,但是你的为什么不行,我真的不知道了,另外我没用trim,因为我没定义,懒得去写了,估计要是真的出错,要不就是你的trim有问题,要不就是像33楼说的一样,是别的js代码影响到了
      

  35.   

    楼主的js应该没有问题,应该这样:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!this.IsPostBack)
    {
    btnAdd.Attributes.Add("OnClick","javascript:return CheckSubmit();");
    }}
      

  36.   

    这个我已经试过了,确实不行,后来用ajax解决了