Javascript'type [...] [...]'为null或不是对象IE8错误

时间:2013-12-07 12:58:04

标签: javascript internet-explorer-8

我只在IE8中收到Javascript错误。 Chrome,FF& IE9 +完美运行。

IE8中的错误是:'type [...] [...]'为null或不是对象

基本上,Size字段填充了各种值,一旦选择值,Type和Code字段将更改为Array中的相应值。关于为什么IE8不想玩的任何想法?

该错误还引用了以下代码中的以下行:

typelist.options[typelist.options.length]= new Option(type[selectedproduct][i].split("|")[0],type[selectedproduct][i].split("|")[1])

感谢。

代码:

    <form name="products">
    <table >
        <tr>
            <td width="65px">Size</td>
            <td>
                <select name="size" onChange="updatetype(this.selectedIndex)" style="width:120px;">
                    <option value="A26-0015">Large</option> 
                    <option value="A26-0016">Small</option> 
                </select>
            </td>
        </tr>
        <tr>
            <td width="65px">Type</td>
            <td>
                <select name="type" onChange="updatecode(this.options[this.options.selectedIndex].value)"></select> 
            </td>
        </tr>

    <script type="text/javascript">
        var type=new Array()
        type[0]=["Blue|A26-0015",];type1[1]=["Green|A26-0016",];
    </script>

        <tr>
            <td>Code</td>
            <td><input type="text" value="A26-0015" name="code" readonly="readonly" ></td>          
        </tr>
    </table>
</form>


<script type="text/javascript" >

var sizelist=document.products.size
var typelist=document.products.type
var codelist=document.products.code                 
updatetype(0);

function updatetype(selectedproduct){
    typelist.options.length=0
        if(selectedproduct>-1){
            for (i=0; i<type[selectedproduct].length; i++){
                typelist.options[typelist.options.length]= new Option(type[selectedproduct][i].split("|")[0],type[selectedproduct][i].split("|")[1])
            }
        }
        updatecode(typelist.value)
    }

function updatecode(code){      
    codelist.value = code
}

</script>      

1 个答案:

答案 0 :(得分:1)

我首先从数组中删除 null 值:

type[0]=["Blue|A26-0015",];
                        ^----- trailing comma