下面我的函数在var pos1 = dtStr.indexOf(dtch)
function isDate(dtStr){
var daysInMonth = DaysArray(12);
var pos1 = dtStr.indexOf(dtCh);
var pos2 = dtStr.indexOf(dtCh, pos1 + 1);
var strMonth = dtStr.substring(0, pos1);
var strDay = dtStr.substring(pos1 + 1, pos2);
var strYear = dtStr.substring(pos2 + 1);
strYr = strYear;
我得到的错误消息是SCRIPT438:对象不支持属性或方法'indexOf'。我在变量之后取出了所有代码,但我仍然收到相同的错误
答案 0 :(得分:2)
isDate
函数期望其dtStr
参数为String
(由indexOf
和substring
函数调用指示)。但是,使用类型为Object
而不是String
的参数调用该函数。您需要修改调用此函数的代码,以将正确的参数传递给isDate
函数。
答案 1 :(得分:1)
你说你在做onkeyup="isDate(this);"
。这是将元素传递给isDate
,您需要先获取它的值才能使用它。
function isDate(dtStr){
dtStr = dtStr.value;
// ...
}