jquery验证在IE8中不起作用
Posted
技术标签:
【中文标题】jquery验证在IE8中不起作用【英文标题】:jquery validation not working in IE8 【发布时间】:2016-02-27 01:19:01 【问题描述】:我想验证复选框,单击提交,如果选中,则控件转到文本框,否则可能会禁用。在最新的浏览器上很好,但在 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】:Internet Explorer
旧版本无法识别所有 jquery 事件。你可以使用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>
【讨论】:
以上是关于jquery验证在IE8中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
jQuery.animate 在 IE8/IE9 上的 Facebook iFrame 中不起作用
占位符在 IE8 和 IE9 中不起作用,即使使用 jQuery 插件
jQuery .animate() marginLeft 在 IE8 及更低版本中不起作用 - 参数无效