Object 在 ie8 for javascript 中不支持此属性或方法

Object doesn't support this property or method in ie8 for javascript

本文关键字:属性 方法 不支持 ie8 for javascript Object      更新时间:2023-09-26

我正在开发ASP应用程序,但在IE 8中出现此错误:

消息:对象不支持此属性或方法

行: 216

字符: 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
    });
 });

你的代码是隐式全局变量的恐怖的牺牲品,所以我怀疑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)进行。