【问题标题】:Undefined error after firefox 4 beta updateFirefox 4 beta 更新后出现未定义错误
【发布时间】:2011-03-15 10:58:08
【问题描述】:

谁能检查我的代码并告诉我哪里做错了。我的 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>

【问题讨论】:

  • 看不懂,接受什么?
  • 您是否在测试版软件中测试所有代码?
  • @alex:它还将问题标记为已关闭,并已回答社区的存档和组织利益。
  • 哦!我不知道这个!我在这里得到了很多帮助,尤其是对于我的第一个问题,我现在将检查如何接受,并接受我喜欢的答案。

标签: javascript str-replace firefox4


【解决方案1】:

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

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

【讨论】:

  • 不,即使我使用 4 而不是 3,我也会出错。在 safari 中,我也遇到了这个错误,但我可以使用 Firefox 进行工作而忽略了这个错误,现在我必须面对这个问题。
  • @user625118:更正您帖子代码中的这个基本错误,然后我们可以继续。
猜你喜欢
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多