繁体   English   中英

Firefox认为未定义表单,但IE和Chrome可以

[英]Firefox thinks form is not defined, but IE and Chrome do

我正在尝试获取下拉菜单选择的值。 这是我的XHTML:

    <form action="(EmptyReference!)" method="get" name="myForm" id="myForm" onsubmit="myValidation(this)">
    <fieldset>
        <select name="mySelect" id="mySelect">
            <option value="o1" selected="selected">Option 1</option>
            <option value="o2">Option 2</option>
            <option value="o3">Option 3</option>
            <option value="o4">Option 4</option>
        </select>

这是我的JavaScript:

if (myForm.mySelect.options[myForm.mySelect.options.selectedIndex].value == 'o1')
    [...];
else if (myForm.mySelect.options[myForm.mySelect.options.selectedIndex].value == 'o2')
    [...];
else if (myForm.mySelect.options[myForm.mySelect.options.selectedIndex].value == 'o3')
    [...];
else
    [...];

它在IE和Chrome中完美运行。 但是,当我在Firefox中按下“提交”按钮时,什么也没有发生。 Firebug告诉我myForm未定义。 是什么赋予了? 有解决方法吗?

您应该使用getElementById()获得最佳兼容性。

var mySelect = document.getElementById('mySelect');
if (mySelect.options[mySelect.options.selectedIndex].value == 'o1')
...

据我所知,您应该使用document.myForm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM