SCRIPT438:对象不支持属性或方法'indexOf'

时间:2011-11-16 21:43:53

标签: javascript indexof

下面我的函数在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'。我在变量之后取出了所有代码,但我仍然收到相同的错误

2 个答案:

答案 0 :(得分:2)

isDate函数期望其dtStr参数为String(由indexOfsubstring函数调用指示)。但是,使用类型为Object而不是String的参数调用该函数。您需要修改调用此函数的代码,以将正确的参数传递给isDate函数。

答案 1 :(得分:1)

你说你在做onkeyup="isDate(this);"。这是将元素传递给isDate,您需要先获取它的值才能使用它。

function isDate(dtStr){
    dtStr = dtStr.value;
    // ...
}