我在IE8上收到一条错误消息....所有其他浏览器似乎都很好......我已经将其缩小到我的JavaScript的特定部分但是我无法找到解决方法。它似乎是更大或更少的迹象(我可能是错的)。任何人都知道一种解决方法(也许是另一种写标志的方式,写作和GT;不会这样做)
示例代码:
var selectedDate = new Date(document.getElementById("ExpYear").value,document.getElementById("ExpMonth").value)
var nextmonth = selectedDate.setMonth(selectedDate.getMonth());
var last_date_of_selected_date = new Date(nextmonth -1);
var today = new Date();
today = new Date(today.getFullYear(), today.getMonth());
if (today > selectedDate) {<!--i think its the < sign-->
return false;
}
else {
return true;
}
window.onload = function() {
var a = document.getElementById("PaymentForm");
a.onsubmit = function() { return Validate() };
}
答案 0 :(得分:1)
var selectedDate = new Date (document.getElementById("ExpYear").value,document.getElementById("ExpMonth").value)
我不确定这是否能解决您的问题,但这行代码至少存在三个问题:
Date
构造函数需要零参数,一个参数包含以毫秒为单位的时间戳或一个字符串(不鼓励)或 三个参数包含年,月和分别为天数(可能后跟四个包含小时,分钟,秒,毫秒的参数)0
开始,因此您可能应该减小输入值(除非您希望用户输入0到11之间的数字)。 更新,关于a
是null
的消息是否是对象可能是因为没有ID PaymentForm
的元素,因此尝试将事件处理程序附加到a
的行将产生错误。
此外,你在结束括号后省略了分号(你可能在return Validate();
之后忘记了右括号和分号)。
答案 1 :(得分:0)
我发现你在selectedDate变量声明中缺少分号。 Internet Explorer对分号非常挑剔。
var selectedDate = new Date (document.getElementById("ExpYear").value,document.getElementById("ExpMonth").value)