【问题标题】:Firefox vs IE Javascript issueFirefox vs IE Javascript 问题
【发布时间】:2011-02-03 23:12:34
【问题描述】:

我看到这个问题有很多相关的问题,通读一遍我猜这是一个 getElementById 问题,因为这似乎是其他人问题中的问题,但我不太确定是什么我做错了。以下在 FireFox 中有效,错误控制台上没有消息,FireBug 显示正确的值:

    function updateSQ() {
        var sQuestion = document.getElementById('<%=sQuestion.ClientID%>');
        sQuestion.value = "";
        var questions = document.getElementsByName('selectQuestion');
        for (question in questions) {
            if (questions[question].value != null)
                            sQuestion.value += questions[question].value + ",";
        }
        alert(sQuestion.value);
    }

这个函数被一个动态生成的html select标签调用:

&lt;SELECT id="squestion1" name="selectQuestion" onchange="updateSQ();"&gt;
&lt;OPTION value="notChosen"&gt;--Please Select One--&lt;/OPTION&gt; &lt;OPTION value="in"&gt;India&lt;/OPTION&gt; &lt;OPTION value="de"&gt;Germany&lt;/OPTION&gt;
&lt;OPTION value="fr"&gt;France&lt;/OPTION&gt;
&lt;OPTION value="us"&gt;United States&lt;/OPTION&gt;
&lt;OPTION value="ch"&gt;Switzerland&lt;/OPTION&gt;
&lt;/SELECT&gt;

如您所见,javascript 正在尝试更新 ASP.NET 控件的值: &lt;asp:HiddenField ID="sQuestion" runat="server" value="" /&gt;

这个想法是,当 select 发生变化时,它会调用 JS 并将所有 select 语句中的值存储到 ASP.NET 控件中(对于我遇到的一组恼人的需求和遗留代码来说,这是一种笨拙的工作)要求使用)。

最终警报在 Firefox 中具有预期值,但在 IE7 中它是一个空字符串,支持我只是没有找到正确标签的想法。非常感谢任何输入。谢谢。

【问题讨论】:

  • 这段代码用 asp.net 控件替换为 textarea 在两者中都可以正常工作

标签: javascript asp.net internet-explorer firefox


【解决方案1】:

我认为您的问题出在getElementsByName

使用 Javascript 创建的 HTML 元素 DOM 无法访问 document.getElementsByName 方法在 即。

试试下面的谷歌查询,看看关于这个主题的大量错误报告和挫败感;)

http://www.google.dk/search?sourceid=chrome&ie=UTF-8&q=getElementsByName+ie

【讨论】:

    【解决方案2】:

    在 IE 中的 getElementsByName 不返回 Array 而是返回 Object 使用

    for (var question  = 0; question < questions.length; question ++)
    

    而不是

    for (question in questions) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-29
      • 2014-11-25
      • 2013-03-18
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2018-07-09
      • 2011-01-31
      相关资源
      最近更新 更多