我正在开发一个ASP应用程序但是我在IE 8中遇到了这个错误:
消息:对象不支持此属性或方法
行:216
Char:8
代码:0
这是我的代码:
$(function() {
Today = new Date;
Annee = Today.getFullYear() - 18 ; //this is a Line 216
PlageMois = Today.getMonth();
Jour = Today.getDate() ;
//maxDate: new Date(new Date.getFullYear(), 1-1, 1),
$( "#datepicker_Majeur" ).datepicker({
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug','Sep', 'Oct', 'Nov', 'Dec'],
dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dateFormat: 'mm/dd/yy',
//maxDate: new Date(1993, 1-1, 1),
maxDate: new Date(Annee, PlageMois, Jour),
showOn: "button",
buttonImage: "/images/img-calendar.gif",
buttonImageOnly: true
});
});
答案 0 :(得分:9)
您的代码会成为The Horror of Implicit Globals的牺牲品,所以我怀疑Today
是通过非JavaScript机制创建的全局代码,它不允许您为其分配Date
对象。
您需要使用关键字var
声明您的本地变量。我怀疑这将解决你遇到的问题。例如。 (注意前四行):
$(function() {
var Today = new Date;
var Annee = Today.getFullYear() - 18 ; //this is a Line 216
var PlageMois = Today.getMonth();
var Jour = Today.getDate() ;
//maxDate: new Date(new Date.getFullYear(), 1-1, 1),
$( "#datepicker_Majeur" ).datepicker({
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug','Sep', 'Oct', 'Nov', 'Dec'],
dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dateFormat: 'mm/dd/yy',
//maxDate: new Date(1993, 1-1, 1),
maxDate: new Date(Annee, PlageMois, Jour),
showOn: "button",
buttonImage: "/images/img-calendar.gif",
buttonImageOnly: true
});
});
旁注:JavaScript中压倒性的约定是变量以小写字母(today
而不是Today
)开头。使用大写字符(Today
)启动通常只对构造函数(如Date
)完成。