jQuery警报在IE 8中不起作用
jQuery alert not working in IE 8
我有下面的脚本在IE 8中不起作用,它在其他浏览器中也能很好地工作,但在IE 8……所有用户得到的,即使选中了复选框输入,也是警报。任何想法都将不胜感激。
$(function() {
$("form#insider-account").bind("keypress", function(e) {
if (e.keyCode == 13) return false;
});
var isChecked = false;
$("form#insider-account").change(function() {
if ($("input#insideraccount_verified").is(":checked")) {
isChecked = true;
} else {
isChecked = false;
}
});
$("form#insider-account").submit(function(e) {
if (!isChecked) {
e.preventDefault();
alert("You must agree that the information you provided is correct.");
}
else {
}
});
});
不确定为什么在与提交事件分开的事件中设置isChecked。我认为你的问题是在IE8中,这个:
$("form#insider-account").change(...
在更改窗体内的控件时不会触发。为什么不将更改事件附加到控件本身:
$("input#insideraccount_verified").change(...
或者,更好的做法是,只需检查提交事件中是否选中了复选框,而不是使用您在其他事件中设置的变量:
$("form#insider-account").submit(function (e) {
if (!$("input#insideraccount_verified").is(":checked")) {
e.preventDefault();
alert("You must agree that the information you provided is correct.");
}
else {
}
});
在表单中而不是表单iteself中侦听元素的更改,在谷歌上搜索"form change ie jquery"后,有许多结果表明这是一个问题,包括在ie 中未触发jquery.change()事件
建议使用on事件,它将监听表单中输入元素的更改事件,如下所示:
$("form#insider-account input").on('change', function() {
isChecked = $("input#insideraccount_verified").is(":checked");
});
相关文章:
- window.opener.document在ie中不起作用
- 为什么Telerik cdn在IE中不起作用
- JQuery脚本在IE中不起作用
- 默认光标在IE和Mozilla中不起作用
- Asp自定义验证器在IE-11中不起作用
- knockoutjsforeach在IE 9中不起作用
- 谷歌分析在IE中不起作用
- javascript中的SVG转换在IE 11中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 在IE中切换javascript不起作用的复选框
- JQuery日期选择器在IE 7上不起作用
- HTML表单在IE中不起作用
- Javascript style.background在IE中不起作用
- 对<asp:IE 10的TextBox;不起作用
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- SPA异步调用在IE 11中不起作用
- 脚本在IE 9中不起作用
- ng-单击在IE中不起作用的选项选择Angularjs
- html2canvas 代码不起作用 IE 11
- 隐藏选项不起作用IE