<script type="text/javascript">
    $("#<%=SendB.ClientID %>").bind("click", function () {
        document.getElementById('ContentH').value = window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML;
        document.getElementById('HtmlAreaMsg').innerHTML = '';
        var submitx = false;
        if (document.getElementById('<%=TitleT.ClientID %>').value == '') {
            document.getElementById('HtmlAreaMsg').innerHTML += '标题不能为空   ';
            submitx = false;
        }
        if (window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML == '' || window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML == '<P>&nbsp;</P>') {
            document.getElementById('HtmlAreaMsg').innerHTML += '内容不能为空   ';
            submitx = false;
        }
        if ($("#<%=cc.ClientID %>").attr("value") == '') {
            document.getElementById('HtmlAreaMsg').innerHTML += '验证码不能为空   ';
            submitx = false;
        }
        else {
            $.get("../HtmlArea/AjaxCheckCode.ashx", null, function (data) {
                if ($("#<%=cc.ClientID %>").attr("value") != data) { document.getElementById('HtmlAreaMsg').innerHTML += '验证码错误   '; submitx = false; }
                else { document.getElementById('HtmlAreaMsg').innerHTML += '成功   '; submitx = true; }
            });
        }
        return submitx;
    });
</script>
为什么return true 总是不执行

解决方案 »

  1.   

    LS 值都正常
    document.getElementById('HtmlAreaMsg').innerHTML += '成功   '也显示正常 但是永远都是return false;
     submitx = true;后return 还是false 就是不回调
      

  2.   

    你调用ajax返回值。但是在你调用ajax的时候异步了
    你先返回了submitx 
    然后submitx=true;
      

  3.   

    恩 就是AJAX异步的问题 能解决么?
      

  4.   

    试试在一开始
    $.ajaxSetup({
      async: false
      }); 
    试试
      

  5.   

    DEMO $.ajaxSetup({
       async: false
       });
    var i = false;
    $.get("test.html",function(){i = true;});
    alert(i);
      

  6.   

    function js_CheckCode() {
            $.get("../HtmlArea/AjaxCheckCode.ashx", null, function (data) {
                if ($("#<%=cc.ClientID %>").attr("value") != data) { document.getElementById('HtmlAreaMsg').innerHTML = '验证码错误   '; }
                return false;
            });
          }    $("#<%=cc.ClientID %>").bind("blur", js_CheckCode);    $("#<%=SendB.ClientID %>").bind("click", function () {
            document.getElementById('ContentH').value = window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML;
            document.getElementById('HtmlAreaMsg').innerHTML = '';
            var submitx = true;
            if (document.getElementById('<%=TitleT.ClientID %>').value == '') {
                document.getElementById('HtmlAreaMsg').innerHTML += '标题不能为空   ';
                submitx = false;
            }
            if (window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML == '' || window.frames['HtmlEditor'].document.getElementsByTagName('BODY')[0].innerHTML == '<P>&nbsp;</P>') {
                document.getElementById('HtmlAreaMsg').innerHTML += '内容不能为空   ';
                submitx = false;
            }
            if ($("#<%=cc.ClientID %>").attr("value") == '') {
                document.getElementById('HtmlAreaMsg').innerHTML += '验证码不能为空   ';
                submitx = false;
            }
            if(js_CheckCode()){submitx=false;}
            return submitx;
        });
    2段代码分开也是不行
      

  7.   

    ajax 是没法return true么
      

  8.   

    先不管同步的问题,你初始值应该是 var submitx = true; 
      

  9.   

     我以前在学习的时候 老师说过:
                                 1.Return false的是为了防止回发的 
                                 2.如果你true了之后 当然不可以了 变大兴的了 
     同时如果你真的想要回发 有2种办法:
                                 1.就是用alert("");来调试
                                 2.在查看代码里面打入相应的代码                             
                      
      所谓回发 就是再调用一遍后台的的数据 那就再使用JS代码就没意思了 
      

  10.   

    把返回true要执行的代码,也写到else里面吧。