2010-10-26 60 views
0

我試圖得到一個下拉菜單選擇的值。這裏是我的XHTML:Firefox認爲窗體沒有定義,但IE和Chrome做

<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沒有定義。是什麼賦予了?有沒有解決方法?

+0

什麼時候調用JavaScript?在之前或之後的

或? – jordanbtucker 2010-10-26 05:35:42

回答

1

您應該使用getElementById()最佳兼容性。

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

謝謝一堆,這工作! – user460847 2010-10-26 05:45:46

0

據我所知,你應該使用document.myForm

+0

試過了,沒有什麼區別。 – user460847 2010-10-26 05:33:58

相關問題