2014-11-24 50 views
0

我需要隱藏文件上傳按鈕後點擊兩次使用JavaScript。兩次點擊後如何隱藏文件上傳按鈕?

我的HTML代碼

<input type="file" runat="server" id="fileInputDataCC" name="fileInputDataCC" /> 
<button type="submit" id="btnUpload" name="command" value="CompareCost" style=" color:#FFFFFF;border:none;" onclick="click();">CALCULATE MY USE</button> 

我只是嘗試用下面的Java腳本代碼,但它不工作。

<script type="text/javascript"> 
var clicks = 1; 
function click() { 
     clicks += 1; 
     document.getElementById("btnUpload").innerHTML = clicks; 
     if(Clicks == 3) 
     { 
      document.getElementById("btnUpload").style.display = "none"; 
     } 
     else 
     { 
      document.getElementById("btnUpload").style.display = "Block"; 
     } 
    } 
</script> 
+0

點擊中,如果條件應該是兼容的,你的變量名 – 2014-11-24 07:24:00

回答

2

在您if聲明你的點擊變量有一個大寫字母,這就是爲什麼它不工作。您還應該重命名您的功能,正如@Amitesh的另一個答案中所述,因爲您不能擁有「點擊」功能名稱。您可以檢查這個問題的更多細節:javascript function name cannot set as click?

<button type="submit" id="btnUpload" name="command" value="CompareCost" style=" color:#FFFFFF;border:none;" onclick="clickCount();">CALCULATE MY USE</button> 
    <script type="text/javascript"> 
    var clicks = 1; 
    function clickCount() { 
      clicks += 1; 
      document.getElementById("btnUpload").innerHTML = clicks; 
      if(clicks == 3) 
      { 
       document.getElementById("btnUpload").style.display = "none"; 
      } 
      else 
      { 
       document.getElementById("btnUpload").style.display = "Block"; 
      } 
     } 
    </script> 
1

您的HTML:

<button type="submit" onclick="count_clicks(this);">CALCULATE MY USE</button> 

和您的JS:

var clicks = 0; 
function count_clicks(button) { 
    clicks++; 
    if (clicks == 2) { 
     button.style.display = 'none'; 
    } 
} 
+0

它不是爲我工作 – Gurunathan 2014-11-24 08:47:33

+0

固定功能名稱按@ Amitesh的評論 – Konstantin 2014-11-24 09:58:50

1

與你的腳本的問題是,你要使用內置的HTML DOM方法:'click'。
請將你的函數名改爲別的。

請注意,dom事件不是由JavaScript引發的。我們只是附加我們的聽衆。
在你的情況下,「onclick="...."」只是指示dom在發生這種事件時觸發處理程序,並且事實證明這是內置的「單擊」方法。由於此時'this'會引用全局窗口對象,因此將調用與窗口關聯的'click'處理程序。由於沒有'window.onclick',所以不會發生任何事情。

<p onclick="click()">click me</p>//onclick event will be a reference to the global (window) object. 

function click(){ 
    alert('click method will never be called'); 
} 
window.onclick = function(){// 
    alert('window onclick handler - click method not executed'); 
} 
+0

'click'不是全局的功能,所以它的確定使用這個名稱 – 2014-11-24 07:48:19

+0

@VsevolodGoloviznin你可以檢查增強解釋?這將解釋爲什麼在這種情況下使用'點擊'會失敗? – Amitesh 2014-11-24 08:10:11

+0

是的,你說得對,我已經給我的答案添加了更新 – 2014-11-24 08:30:50