2017-03-01 150 views
1

我是一個js不溫不火的人,所以這是不可避免的一個微不足道的錯誤。我想更改我的表單中的選擇項來觸發表單提交(請參閱下面的代碼片段)。js onchange提交默認選擇選項

會發生什麼情況是表單被正確提交到正確的php頁面,但Select元素值默認爲第一個選項,而不管選擇了哪個選項。我愚蠢的地方在哪裏? Ron

<input type='submit' name='buttons' value='Delete'> 
<input type='submit' name='buttons' value='Copy'> 
<input type='submit' name='buttons' value='Move'> 
<select name='rotate' id='rotate' onchange='this.form.submit()'> 
<option value='Rotate 0'>Select from list below to Rotate</option> 
<option value='Rotate 3'>Rotate by 90 CW</option> 
<option value='Rotate 2'>Rotate by 180 CW</option> 
<option value='Rotate 1'>Rotate by 270 CW</option> 
</select> 
.....other form elements 
+2

'onclick' change to'onchange' – Jai

+0

duplicate of http://stackoverflow.com/questions/7231157/how-to-submit-form-on-change-of-dropdown-list – mplungjan

+0

可能重複的[如何提交表單更改下拉列表?](http://stackoverflow.com/questions/7231157/how-to-submit-form-on-change-of-dropdown-list) – Bugs

回答

0

這是因爲您使用的是onclick,只要單擊select就會提交表單。你想要onchange

+0

謝謝。可以理解你爲什麼這麼說。然而,與onchange相同的問題(檢查緩存刷新) - 事實上,這是我最初的方式,但嘗試onclick以防萬一。 – Ron

0

問題解決了 - 我在(長)形式底部重複了select元素,所以在頁面上定義了兩次相同的元素ID;一個nono。告訴你我是個笨蛋。謝謝全部

+0

這不能成爲這個問題的原因。 Javascript不會使用任何ID。 – Quentin

+0

Thx Quentin。所以我猜這個問題是因爲在頁面上重複了選擇元素,每次都使用相同的名稱,瀏覽器在頁面上發佈了最後一次迭代的設置,而我正在更改第一個迭代。順便說一下,那麼這個ID是什麼?我認爲這是javascript使用的元素的名稱。 – Ron