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

时间:2013-09-26 10:26:13

标签: html5 user-interface input disabled-control disabled-input

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

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

提前感谢任何帮助

6 个答案:

答案 0 :(得分:3)

我觉得你很清楚......

在click事件中调用你的getlocation()方法..

Working fiddle

<强>代码

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

<强>输出

Result

答案 1 :(得分:1)

这样做:

    <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 =真”

答案 2 :(得分:0)

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

您应该在这篇文章中找到所需内容:How to disable html button using JavaScript?

答案 3 :(得分:0)

您可以尝试这样的事情:

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

答案 4 :(得分: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
  }
}

或者,这可以作为参数传递给方法。在我看来,这看起来确实很糟糕。使用建议的解决方案,您可以执行与状态相关的逻辑行为,使其具有更高的可伸缩性。

答案 5 :(得分:-1)

也许这行得通。使用DOM

function myFunction() {
  document.getElementById("myBtn").disabled = true;
}