2012-12-30 50 views
0

我需要不同的默認值和HTML <select>標記的選定值。這意味着我需要我的<form>加載一個選定的<option>,然後按<button type="reset">按鈕後再選擇另一個選項設置標籤,但是如何?不同的默認和HTML選擇

<select size="1" name="select1" > 
    <option value='1'> default value </option> 
    <option selected="true" value="2">selected value</option> 
</select> 

的按鈕onclick事件不工作:

<button onclick="resetSearchPanel();" type="reset"> ... 

Java腳本函數:

function resetSearchPanel() { 

    document.forms['submitSearch'].elements['select1'].value = "1"; 

} 

上面的代碼中工作時,該按鈕類型屬性設置好的如 '按鈕',但它不設置爲重置時不起作用!

回答

0

重置按鈕將所有值重置爲默認值。其onclick發生之前發生的實際重置,所以你所做的任何更改都會丟失。

由於沒有「onafterclick」甚至,只有這樣,周圍如果必須使用復位按鈕使用定時器:

function resetSearchPanel() { 
    window.setTimeout(function() { 
     document.forms['submitSearch'].elements['select1'].value = "1"; 
    }, 100); 
} 

點擊按鈕後,這將改變選擇,值爲0.1秒。

+0

謝謝,它的工作原理。但是有沒有更好的解決方案?它看起來髒編碼!由於我的名譽低,我不能投票,謝謝。 –

+0

乾淨的編碼將使用自定義重置按鈕,但我明白你不能改變HTML .. ?? –

-1

選擇頁面加載JavaScript時所需的選項。

+0

因爲我們公司的框架限制的,該解決方案可以沒有實現 –

+1

@MohsenKashi - 如果有限制哪些解決方案是可以接受你的限制,你應該將它們添加到這個問題。 – Alohci

+0

@MohsenKashi你不能插入javascript代碼到html代碼? –

0

點擊重置,只需在選擇標籤中選擇所需的值。

onclick()方法的重置按鈕,確保你寫了一個函數,它可以做任何你想做的事情。

如果您將按鈕類型設置爲reset,它將重置整個表單數據,因此您選擇的標記不會具有您設置的值。刪除reset標記,它應該沒問題。

如果它必須爲你使用類型爲「重置」,那麼你必須使用變通,以確保您的代碼被執行後,表單被重置,但這種做法是強烈反對。

+0

它不起作用 –

+0

你寫的功能是什麼? – LPD

+0

http://stackoverflow.com/questions/78932/how-do-i-programatically-set-the-value-of-a-select-box-element-using-javascript請參閱此鏈接 – LPD

0

你給按鈕type='reset'不知道爲什麼,因爲類型復位將清除表單數據。因此,對於你的問題,你需要給按鍵type='button'

<button onclick="resetSearchPanel();" type="button"> 

希望這會爲你工作。

+0

我需要重置按鈕。我在表單中有幾個輸入,並且在單擊重置後我需要將所有設置重置爲默認值。 –

+0

如果你重置所有的控制,那麼你的下拉列表也將被重置... –