jquery验证在IE8中不起作用

时间:2015-11-24 14:35:55

标签: jquery validation checkbox internet-explorer-8

我想验证复选框,点击提交,如果已选中控件进入文本框,否则可能会禁用。对于最新的浏览器没有问题,但在IE8& IE9。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
        $(function () {
        $("#chkPassport").click(function () 
        {
        if ($(this).is(":checked")) {   
        $("#txtNumber").removeAttr("disabled");
        $("#txtNumber").focus();      
        }
        else 
        {
        $("#txtNumber").attr("disabled", "disabled");
        } 
        });
        });  
    </script>   
    //html follows

    <form action="Orgpaymentgateway.spring" id="orgpaymentgateway" method="post" name="orgpaymentgateway" onsubmit="return checkCheckBox(this)">
    <ul>
     <li>
       <div class="pack">
        <label for="chkPassport">
    <input type="checkbox" id="chkPassport" required  name="myPack[]" id="group_name_0" onchange="this.setCustomValidity(validity.valueMissing ? 'Please Select atleast one package ' : '');"  />
    </label>
    <br />
    <img src="images/image-sample.jpg" style="vertical-align:middle;padding:10px 40px;">
    <br />
    <input type="text" required  name="quantity[]"  onkeydown="return AllowNonZeroIntegers(event)" id="txtNumber"  placeholder="License Count" disabled="disabled"/>
     </div>
    </li>                      
    </ul>
    <div class="clearfix"></div>
    <div class="sub_but">
    <input type="submit" value="Proceed to Checkout" class="sub-btn" name="Sumbit">
    </div>
    </form>

1 个答案:

答案 0 :(得分:1)

并非所有jquery事件都被Internet Explorer旧版本识别。您可以使用javascript进行此操作。

结果 http://jsfiddle.net/svcoe2x8/2/

$(function () {
    $(document).on("click","#chkPassport",function () 
      {
        if (document.getElementById('chkPassport').checked) {   
            document.getElementById('txtNumber').disabled = false
            document.getElementById("txtNumber").focus();      
        }
        else 
        {
            document.getElementById('txtNumber').disabled = true

        } 
    });
});  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form action="Orgpaymentgateway.spring" id="orgpaymentgateway" method="post" name="orgpaymentgateway" onsubmit="return checkCheckBox(this)">
        <ul>
         <li>
           <div class="pack">
            <label for="chkPassport">
        <input type="checkbox" id="chkPassport" required  name="myPack[]" id="group_name_0" onchange="this.setCustomValidity(validity.valueMissing ? 'Please Select atleast one package ' : '');"  />
        </label>
        <br />
        <img src="images/image-sample.jpg" style="vertical-align:middle;padding:10px 40px;">
        <br />
        <input type="text" required  name="quantity[]"  onkeydown="return AllowNonZeroIntegers(event)" id="txtNumber"  placeholder="License Count" disabled="disabled"/>
         </div>
        </li>                      
        </ul>
        <div class="clearfix"></div>
        <div class="sub_but">
        <input type="submit" value="Proceed to Checkout" class="sub-btn" name="Sumbit">
        </div>
        </form>