两次点击后如何隐藏文件上传按钮?

时间:2014-11-24 07:18:15

标签: javascript asp.net-mvc

我需要在使用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>

3 个答案:

答案 0 :(得分:2)

在您if声明中,您的点击变量有一个大写字母,这就是它无法正常工作的原因。您还应该按照@Amitesh的另一个答案中的说法重命名您的功能,因为您无法点击&#39;功能名称。您可以查看此问题以获取更多详细信息: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 :(得分: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';
    }
}

答案 2 :(得分:1)

您的脚本存在的问题是您尝试使用内置的HTML dom方法:&#39; click&#39;。
请将您的功能名称更改为其他名称。

请注意,JavaScript不会引发dom事件。我们只是附上我们的听众 在您的情况下&#34; onclick="...."&#34;只要指示dom在发生此类事件时触发处理程序,并且结果是内置的&#39; click&#39;方法。从此时起这个&#39;将引用全局窗口对象,&#39; click&#39;将调用与窗口关联的处理程序。由于没有&#39; window.onclick&#39;什么都不会发生。

<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');
}