2014-02-11 102 views
-1

運行我試圖用的GreaseMonkey腳本來執行onchange功能,我使用這個代碼:元素一次又一次

var element = document.getElementById("country"); 

if ('fireEvent' in element) 
    element.fireEvent("onchange"); 
else { 
    var evt = document.createEvent("HTMLEvents"); 
    evt.initEvent("change", false, true); 
    element.dispatchEvent(evt); 
} 

document.getElementById("country").value = "3"; 

但其執行/連連重裝,所以我怎麼能執行它只有一次? 我想對這個HTML代碼中執行腳本:

<select name="country" id="country" onchange="form.submit()" style="width:300px;"> 
        <option value="0">Select Country</option> 
        <option value="1">US</option> 

        <option value="2">UK</option> 

        <option value="3">FR</option> 
</select> 
+0

感謝loxxy,請你爲我改變這段代碼,我在編碼上很新手,再次感謝... – user3293200

+0

爲什麼重新加載?你在哪一頁執行這個?這是整個腳本? – Bergi

+0

是的,它是整個腳本,我試圖在這個html代碼上運行這個腳本: user3293200

回答

0

平變化是每射擊的更新是爲了選擇時間。只要加載了select元素,就會對其進行更新,以將第一個元素設置爲選中狀態。這將自動提交表單。如果您沒有窗體上的操作屬性,它將被提交給相同的確切頁面,或者操作是否在同一頁面上。整個循環再次開始。

+0

謝謝,你能給我的解決方案代碼,只能在頁面加載一次? – user3293200

+0

對不起,但我不認爲有人會在這裏給你代碼。我們都必須支付我們的會費並學習它。 – alexK85

0
  1. 所以你加載HTML

  2. 觸發事件onchange

  3. 觸發form.submit()

  4. 帶您到第1步?

有種感覺onchange="form.submit()"是罪魁禍首。但你需要分享更多。

+0

是的,你是正確的,它從第一步再次開始,一次又一次。這段代碼正在工作,它正確地觸發onchange,但問題是它應該只執行一次。 – user3293200