“getElementById(...)。options is null或者不是IE7中的对象”

时间:2012-03-01 16:30:45

标签: javascript select internet-explorer-7 null getelementbyid

我将以令人遗憾的失败状态来问我的问题。我在这个令人遗憾的小问题上花费了近10个小时,并且他们中的许多人在stackoverflow以及互联网上的其他地方挖掘了类似的问题。

这是交易:我正在使用带有选项值的选择表单来完成页面的链接,但是当我使用onchange(或onblur)来获取所选元素时,IE7认为那里没有任何东西(尽管IE8,9, Chrome,FF功能正如我所预期的那样)。

CMS很复杂,所以我可以添加脚本的地方有一些限制,但我确实认识到DOM在这里可能是一个问题。我也尝试将函数放在window.onload中以防引起问题,但这似乎不是它。这是我的代码:

<form name="myBrowseForm" action="/portal/" method="post">
    <label for="redirect">Choose a Region</label>
    <br />
    <select id="organization" onchange="document.myBrowseForm.action=document.getElementById('organization').options[document.getElementById('organization').selectedIndex].value;" name="shortcut">
        <option value="#">Select a Region</option>
        <option value="/r1">New England (1)</option>
        <option value="/r2">Northeast & Caribbean (2)</option>
        </select>
        <input border="0" hspace="5" src="/btn_go.gif" alt="Go" onclick="if(document.myBrowseForm.action != ''){document.myBrowseForm.submit();} else return false;" type="image">
        </form>

我感谢您对我的任何指导!

2 个答案:

答案 0 :(得分:1)

也许你可以尝试这样的事情:

<form name="myBrowseForm" action="/portal/" method="post">
    <label for="redirect">Choose a Region</label>
    <br />
    <select id="organization" onchange="document.myBrowseForm.action=this.options[this.selectedIndex].value;" name="shortcut">
        <option value="#">Select a Region</option>
        <option value="/r1">New England (1)</option>
        <option value="/r2">Northeast & Caribbean (2)</option>
    </select>
    <input border="0" hspace="5" src="/btn_go.gif" alt="Go" onclick="if(document.myBrowseForm.action != ''){document.myBrowseForm.submit();} else return false;" type="image">
</form>

答案 1 :(得分:0)

您是否尝试过document.getElementById('organization').value而不是选项?

,并提供:

<form name="myBrowseForm" action="/portal/" method="post">
    <label for="redirect">Choose a Region</label>
    <br />
    <select id="organization" onchange="document.myBrowseForm.action=document.getElementById('organization').value;" name="shortcut">
        <option value="#">Select a Region</option>
        <option value="/r1">New England (1)</option>
        <option value="/r2">Northeast & Caribbean (2)</option>
    </select>
    <input border="0" hspace="5" src="/btn_go.gif" alt="Go" onclick="if(document.myBrowseForm.action != ''){document.myBrowseForm.submit();} else return false;" type="image">
</form>