firefox 4 beta更新后的未定义错误

时间:2011-03-15 10:58:09

标签: javascript str-replace firefox4

有人可以查看我的代码并告诉我我在哪里做错了。我在javascript中很穷并且使用这段代码很长时间,在Firefox从3.5更新到4 beta之后,我收到了未定义的错误。

function Convert_ONE2TWO()
{
    var arrTWO = new Array( "a", "e", "i");
    var arrONE = new Array( "A", "E", "I");
    str=document.frmConvert.txtONE.value; //input from ONE
    for (i=0;i<3;i++) //Loop for all letters
        {
        strTemp=new RegExp(arrONE[i], "ig");
        str=str.replace(strTemp,arrTWO[i]); //Replacing
        }
    document.frmConvert.txtTWO.value=str.toString(); //output to TWO
}

<form name="frmConvert" action="" method="get">
<textarea rows="5" cols="90" name="txtONE"></textarea>
<input name="btnConvertg" value="Create TWO" onclick="Convert_ONE2TWO();" type="Button">
<textarea rows="5" cols="90" name="txtTWO"></textarea>
</form>

1 个答案:

答案 0 :(得分:1)

你的循环错了。您有三个数组元素,但执行四次循环迭代。

使用for (var i = 0; i < 3; i++)并记住数组索引从0开始,而不是1