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