如何在单击 html 按钮而不是提交按钮后禁用该按钮

问题描述 投票:0回答:7

嗨,我有一个 html 按钮,当你按下它时,它应该会告诉你商店到你所在位置的距离,所以当你按下它时,它们现在就会出现,问题是因为它还处于早期阶段,每次按下按钮时都会打印信息按下我现在只想知道如何在按下一次时禁用它,然后在按下另一个按钮时重新激活它这不是提交按钮我的按钮代码是:

   <button onclick="getLocation()">Search</button>

任何帮助将不胜感激,提前致谢

html user-interface input disabled-control disabled-input
7个回答
4
投票

我认为这对你来说非常清楚..

在点击事件中调用 getlocation() 方法..

工作小提琴

代码

$( "#bind" ).click(function() {
   $(this).attr("disabled", "disabled");
   $("#unbind").removeAttr("disabled");
});
$( "#unbind" ).click(function() {
     $(this).attr("disabled", "disabled");
     $("#bind").removeAttr("disabled");
});

输出

Result


2
投票

这样做:

    <script type="text/javascript">
    var clicked = false;
    function disableMe() {
        if (document.getElementById) {
            if (!clicked) {
                document.getElementById("myButton").value = "thank you";
                clicked = true;
                return true;
            } else {
                return false;
            }
        } else {
            return true;
        }
    }
</script>
<button type="button" id="myButton" onClick="return disableMe()" value="OK">

或者,你可以这样做: onclick="this.disabled=true"


0
投票

有多种方法可以做到这一点。通常,您可以使用 JavaScript 来编辑属性。最好阅读本文并询问您的编码是否有问题。

您应该在这篇文章中找到您需要的内容:如何使用 JavaScript 禁用 html 按钮?


0
投票

你可以尝试这样的事情:

$('button').click(function(){
  // Add functionality here, then...
  $(this).attr("disabled", true);   
});

0
投票

这可以通过多种方式解决,但最直观的方法很可能是向应用程序(这似乎是)提供其所处的状态。例如:

var locationSearched = false //global scope of the application
getLocation() {
  if(locationSearched) {
      //do nothing or inform user of the state + wait for alternative button click
  } else {
      //execute the method and request to retrieve the location
      state = true
  }
}

或者,这可以作为参数传递给方法。在我看来,这确实有点奇怪。根据建议的解决方案,您可以执行与状态相关的逻辑行为,从而使其更具可扩展性。


0
投票

我的“onclick”调用一个长时间运行的过程,也许这就是为什么唯一对我有用的是:

    <button type="button" id="button" onclick="Continue(); this.disabled = true;"> Continue </button>

然后在Continue()函数的“返回”点重新启用按钮:

    document.getElementById("button").disabled = false;

-1
投票

也许这会起作用。使用 DOM

function myFunction() {
  document.getElementById("myBtn").disabled = true;
}
© www.soinside.com 2019 - 2024. All rights reserved.