开发者

JS: Error in IE, compatible in Chrome and Firefox

开发者 https://www.devze.com 2023-01-12 08:24 出处:网络
I\'m having IE give me this error for a small function I wrote: Message: Object expected Line: 13 Char: 52 Code: 0

I'm having IE give me this error for a small function I wrote:

Message: Object expected Line: 13 Char: 52 Code: 0

Here is my code (please excuse the formatting):

function SectionTwo()
{
    if (xmlhttp.readyState==4) {
        if( xmlhttp.status==200 ) {
            if( xmlhttp.responseText.indexOf( "404 Error" ) >= 0 ) { } 
            else {
                var idtagsArray = ["KT501-1_8","KT502-15_30","KT503-15_37","KT504-10_30","KT505-30_80","KT506-30_90","KT507-20_50","KT510-15_1440","KT512-0_1_2_3_4","KT513-30_80","KT514-0_1","KT520-0_1","KT525-0_1_2","KT526-0_1","KT527-0_9999","KT529-0_9999","KT531-0_9999","KT533-0_9999","KT535-0_250","KT536-0_9999","KT538-0_9999","KT548-0_1","KT549-0_1","KT550-102_120", "KT551-80_98","KT552-15_37","KT553-0_30","KT554-50_90","KT555-20_50","KT565-0_10","KT566-0_20","KT567-0_30","KT568-0_50","KT569-1_10","KT570-1_10","KT571-2_10","KT572-2_10","KT573-1_20","KT574-1_30"];
                for(var tag = 0; tag < idtagsArray.length; tag++) {
                    UpdateImage( idtagsArray[tag], xmlhttp.responseText);
                }
            }
        }
    }
}

The last line is line 13. I also have another function called SectionOne which is identical to the above except that it calls UpdatePoint instead of UpdateImage, and that one does not error out.

Chrome and Firefox do not 开发者_JAVA技巧show any JS errors and work as intended. Here is the UpdateImage function:

function UpdateImage( usediv, data )
{
    if( data == null || data.length <= 0 ) {
        update_value.innerText = 0;
        return
    }

    // [A5:1][A6:1][A7:1][A8:1]
    var start       = data.indexOf( "[" + usediv + ":" ) + 2 + usediv.length ;
    var end         = data.indexOf( "]", start );
    var data_value  = data.slice( start , end ) ;

    if( data_value > 0 )
    {
        document.getElementById(usediv).style.display = "";
    }
    else
    {
        document.getElementById(usediv).style.display = "none";
    }
}

Any ideas would be appreciated.


Could it be the missing semicolon after return in your function UpdateImage?


Could it be the lack of a semi-colon on the return in UpdateImage?

Edit:

In that case you just have some obscure syntax oddity that IE is confused about (happens all the time :)).

Start removing code. Get rid of all those nested if's (probably should be refactored anyway). Don't do a for loop, just call UpdateImage( idtagsArray[0], xmlhttp.responseText ). Make your idtagsArray only 1 element long. Etc.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号