2011-03-15 49 views
-1

有人可以检查我的代码并告诉我我做错了什么。我在JavaScript上很穷,在很长一段时间使用这段代码,在Firefox从3.5升级到4 beta之后,我得到了未定义的错误。firefox 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> 
+0

不明白,接受什么? – user625118 2011-03-15 11:01:40

+0

您是否在测试版软件中测试了所有代码? – alex 2011-03-15 11:02:09

+0

@alex:它也将问题标记为封闭并回答社区的档案和组织好处。 – 2011-03-15 11:04:23

回答

1

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

使用for (var i = 0; i < 3; i++)并记住数组下标起始于0而不是1

+0

不,即使我用4而不是3,我得到错误。在safari中,我也遇到了这个错误,但忽略了,因为我可以使用firefox进行工作,现在我必须面对这个问题。 – user625118 2011-03-15 11:13:00

+0

@ user625118:纠正你的帖子代码中的这个基本错误,然后我们可以继续。 – 2011-03-15 11:13:32

+0

非常感谢,我更正了,现在它工作正常。 – user625118 2011-03-15 11:23:15

相关问题