让jQuery UI datepicker插件运行得非常好,但是,当使用IE7时,日历不会像你在FF,Safari等中那样做出选择后消失。
这是网址http://www.mchenry.edu/insideApp/OIRPprojectrequest/oirpprojectrequestform.aspx
我希望这有点傻,'因为IE7是我需要支持内部客户的唯一浏览器。
日Thnx!
编辑:试试此网址http://www.mchenry.edu/test/oirpprojectrequestform.aspx
抱歉'那个!
答案 0 :(得分:1)
如果你的日期选择器设置中有这样的东西:
onSelect:function(){this.focus(); } onClose:function(){this.focus(); }
这会导致元素被赋予焦点,因此由验证器插件验证。
不幸的是,在IE7中,这会导致错误,因为焦点事件被调用两次,而日期选择器会混淆并再次弹出。
解决方案不是在元素上显式调用验证器,然后将焦点移动到IE的下一个元素以保留Tab键顺序。
onSelect: function () {
var elementCounter, input, form;
input = $(this);
form = input.parents('form:first');
// validate the selected date
form.validate().element(this);
if ($.browser.msie && $.browser.version < 8) {
// MSIE 7 triggers focus event twice, forcing the datepicker to re-open
// to get around this, we move the focus to the next form element
for (var elementCounter = 0; elementCounter < form[0].elements.length; elementCounter++){
if (form[0].elements[elementCounter].name == input.attr('name')) {
$(form[0].elements[elementCounter+1]).focus();
break;
}
}
} else {
// give focus back to the input element to preserve tabbing
$(this).trigger('focus');
}
},
onClose: function () {
// validate the selected date
$(this).parents('form:first').validate().element(this);
}
答案 1 :(得分:0)
当我逐步使用IE8时,网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1;三叉戟/ 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)时间戳:周一,2009年9月21日18:50:51 UTC
消息:'length'为null或不是 对象行:139字符:17代码:0 URI: http://www.mchenry.edu/aspnet_client/system_web/1_1_4322/WebUIValidation.js
event.srcElement.Validators
是undefined
。您是想访问Validators
上的DispHTMLAnchorElement
吗?
答案 2 :(得分:0)
如果您在输入字段中指定tabindex属性,那么这可能适合您:
onClose: function() {
$('input[tabindex="' + ($(this).attr('tabindex') + 1) + '"]').focus();
}