
[英]Firefox thinks <fieldset> is a form element; Chrome doesn't
[英]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.