2015-10-22 64 views
0

因此,這裏是我的問題:onclick =「submit();」的不同行爲在不同的瀏覽器

base.html文件

<html> 
    <head> 
    <head> 
    <body> 
     <form action="select.html"> 
      <select name="decide" onclick="submit();"> 
       <option>Choose Me!</option> 
       <option>No me!</option> 
       <option>We both know you want to choose me</option> 
       <option>Nobody ever chooses me :(</option> 
      </select> 
     </form> 
    </body> 
</html> 

onlick="submit();"屬性在不同的瀏覽器不同的行爲。

在Opera和鉻的部位表現爲我想。 如果單擊選擇列表,該列表彈出,你可以選擇一個條目。 在Firefox和Internet Explorer onclick屬性觸發在列表中請求到服務器的第一個項目,然後選擇列表上點擊時會彈出列表。

enter image description here

如何防止Firefox和Internet Explorer的第一次點火,後來問? :/

我不是很熟悉JavaScript和jQuery,我使用Django 1.8.4 預先感謝

+4

使用'onchange'或'onselect' – Tushar

+0

做什麼@Tushar如果非要說做內聯 – AdamJeffers

+0

@Tushar但如果OP單擊已選定的項目,onchange事件不會被解僱。他應該設置一個默認值,然後 –

回答

4

我猜你真正想火,當一個項目被選中而不是當下拉菜單被點擊,所以改變的onclick到的onchange

編輯 - 這樣的事情也許(純JS不是jQuery的)

<form action="select.html" name="frmDecide"> 
<select name="decide" onchange="submitForm(this);"> 
    <option value="">Please select...</option> 
    <option>Choose Me!</option> 
    <option>No me!</option> 
    <option>We both know you want to choose me</option> 
    <option>Nobody ever chooses me :(</option> 
</select> 

然後js

function submitForm(sel) 
{ 
    if (sel.value != "") 
    { 
     frmDecide.submit(); 
    } 
} 
+0

我也試過onchange。它幾乎可以正常工作。除非您想再次選擇所選項目,或者想要選擇列表中標記的第一個條目。我需要onclick的功能,因爲它在我的項目中的Opera和Chromium中表現得很好。 :/ – BigZ

+1

@BigZ最簡單的方法是設置一個默認值,要求用戶選擇一個列表'' –

+0

它看起來像這可能工作,因爲我需要。 Thx很多:) – BigZ

-1

你的意思是這樣嗎?

HTML

<select id="my-select" name="decide"> 
    <option>Choose Me!</option> 
    <option>No me!</option> 
    <option>We both know you want to choose me</option> 
    <option>Nobody ever chooses me :(</option> 
</select> 

JS

$('#my-select').on('click', function(){ 
    // do something 
    submit(); 
}); 

$('#my-select').on('change', function(){ 
    // do something 
    submit(); 
}); 

$('#my-select').on('select', function(){ 
    // do something 
    submit(); 
}); 
+0

有趣的投票權 – AdamJeffers

+0

即時猜測,因爲它的'選擇',你應該'使用變化'。 '上點擊是button' – guradio

+0

這是完全相同的行爲作爲OP的代碼,這樣不會解決問題肯定 –

0

如果你想有一個佔位符(種),你可以使用,而不是:

<select name="decide" onchange="submit();"> 
 
     <option selected style="display: none;">Select your option</option> 
 
     <option>Choose Me!</option> 
 
     <option>No me!</option> 
 
     <option>We both know you want to choose me</option> 
 
     <option>Nobody ever chooses me :(</option> 
 
    </select>

+0

Thx,這也是值得我嘗試的項目。 :) – BigZ

+0

質樸downvote ......但誰在乎:) THX亞當... –

+0

向下票只應評論後,允許以確保其有效的降低投票笑 – guradio

相關問題