• 项目开发中遇到的Bug知识整理!


    ====第一个Bug====》》  目前测试出现在IE7,IE6中。

        问题:<button></button>标签,经测试,不兼容IE7,IE6. (个人建议不要使用button标签)

        解决方案:改成<input type="button" value="提交">

    //ajax表单提交操作  
    $("form").submit(function () { if ($("#ddlArea").val() === "0" && $("#ddlProvince").val() === "0" && $("#ddlCity").val() === "0" && $("#trainingName").val().length === 0) { alert("请输入考点名称"); return false; } var formdata = $(this).serialize(); $.ajax2({ url: location.href, type: 'GET', data: formdata, success: function (html) { $("#trainingList").html(html); }, error: function () { $("#trainingList").html("出错了"); } }, "#trainingList"); return false; //此操作是为了,阻止表单提交 });

    ====第二个Bug====》》Jquery中的 :Visible,  如果没有给值,Visible 是不起效果的,至少是我发现的

     注意html代码中的一句<span class="cn_red" empty="请输入学习卡卡号!" style="display: none">&nbsp;</span>

     Html代码如下

              <form action="/card/Binding" id="frmActivate" method="post">
                        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="cn_conxx_table">
                            <tr>
                                <td width="25%">
                                    <span class="cn_conxx_16px yahei">请输入学习卡卡号:</span>
                                </td>
                                <td width="40%">
                                    <input name="cardnum" type="text" class="cn_conxx_input" /><span id="tipSpan"></span>
                                </td>
                                <td width="34%">
    <!--------- 注意这里设置了一个 &nbsp;------------>
    <span class="cn_red" empty="请输入学习卡卡号!" style="display: none">&nbsp;</span> </td> </tr> <tr> <td> <span class="cn_conxx_16px yahei">请输入学习卡密码:</span> </td> <td> <input name="cardpwd" type="password" class="cn_conxx_input" /><span id="tipSpan"></span> </td> <td>
    <!----------注意这里设置了一个 &nbsp;----------->
    <span class="cn_red" empty="请输入学习卡密码!" style="display: none">&nbsp;</span> </td> </tr> <tr> <td> </td> <td valign="bottom"> <div class="cn_closebtn yahei"> <a href="javascript:;" id="btnSubmit">确 定</a><a href="#" class="a1">取 消</a>
    </
    div> </td> <td> </td> </tr> </table> </form>

    Js代码如下

     $(function () {
            $(':text,:password').bind('blur', function () {
                var tips = $(this).closest('tr').find('.cn_red');
                if ($.trim($(this).val()).length === 0) {
                    $(this).siblings().show().messagebox($(tips).attr("empty"), "", 1500, 1, { style_tipsyinner: "padding:5px;150px;background:#336699",
    isFade: false }); $(tips).show(); } else { $(this).siblings().hide(); $(tips).hide(); } }); $("#btnSubmit").click(function () { if ($("#frmActivate").attr('submitFlag') === '1') { return true; }

    //**********注意这里********** $(
    ':text,:password').trigger('blur'); if ($('.cn_red:visible').length > 0) { return false; }
    //*******************
    var data = $('form').serialize(); $.post('/card/activateform', data, function (json) { if (json === 1) { $("#frmActivate").attr('submitFlag', '1').submit(); } else if (json === 0) { $("body").messagebox("卡号密码错误!", "", 500, 3, { style_tipsyinner: "padding:20px 28px;background:#ff6600" }); } else { $("body").messagebox("参数错误!", "", 500, 3, { style_tipsyinner: "padding:20px 28px;background:#ff6600" }); } }); return false; }); });

    第三个Bug,正在进行中>>>>>>>>>>>>>>>

    jquery操作 checkbox 是不兼容的:

    单选:jquery版本 1.5.2 ----1.8.3

    <script type="text/javascript" src="jquery.1.8.3.js"></script>
    <script type="text/javascript">
        $(function(){
            $(':checkbox[name=chkbox]').each(function(){
                $(this).click(function(){
                    if($(this).attr('checked')){
                        $(':checkbox[name=chkbox]').removeAttr('checked');
                        $(this).attr('checked','checked');
                    }
                });
            });
        });
      </script>

    单选:jquery版本 1.9 以上操作

     //单选事件checkbox,完美解决
                $(":checkbox[name=chkbox]").unbind().bind("click", function () {
                    if ($(this).attr('checked')) {
                        $(this).removeAttr('checked');
                    }
                    else {
                        //选中
                        var _thisIndex = $(this).index();
                        $(":checkbox[name=chkbox]").each(function (j) {if (_thisIndex != j) {
                                $(":checkbox[name=chkbox]").eq(j).removeAttr("checked");
                            }
                            else {
                                $(this).attr('checked', 'checked');
                            }
                        });
                    }
                });
            });
  • 相关阅读:
    history对象 back() forward() go() 和pushState() replaceState()
    计算机组成原理 常用名词解释
    Angular之 Scope和 Directive
    Angular1.x DirtyChecking(脏值检查) $watch, $apply, $digest
    ES6 之 let和const命令 Symbol Promise对象
    Angular1.x 基础总结
    Node.js 常用 API
    前端自动化和前端开发环境
    CSS3入门
    HTML5入门总结 HTML5API
  • 原文地址:https://www.cnblogs.com/Kummy/p/3046387.html
Copyright © 2020-2023  润新知