3

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

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

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

4

6 回答 6

4

我想它对你来说很清楚..

在单击事件中调用您的 getlocation() 方法..

工作小提琴

代码

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

输出

结果

于 2013-09-26T10:48:51.313 回答
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"

于 2013-09-26T10:35:25.737 回答
0

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

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

于 2013-09-26T10:30:49.247 回答
0

你可以尝试这样的事情:

$('button').click(function(){
  // Add functionality here, then...
  $(this).attr("disabled", true);   
});
于 2013-09-26T10:32:26.890 回答
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
  }
}

或者,这可以作为参数传递给方法。在我看来,这似乎有点不稳定。使用建议的解决方案,您可以执行与状态相关的逻辑行为,使其更具可扩展性。

于 2013-09-26T10:35:24.160 回答
-1

也许这会奏效。使用 DOM

function myFunction() {
  document.getElementById("myBtn").disabled = true;
}
于 2020-11-08T06:41:24.210 回答