【问题标题】:How to disable button after button onclick如何在单击按钮后禁用按钮
【发布时间】:2014-05-22 15:52:00
【问题描述】:

我有一个按钮使用onclick返回确认...我希望当确认提交...第二次点击按钮它会弹出警告消息通知用户按钮只能点击一次。

到目前为止,我已经尝试了一个功能但无法正常工作。

$("#once").one("click", function() {
  alert('this only happens once');
});

以下代码是我的按钮

<input type="submit" id="once" class="button" style="width:100px;" onclick="return  
confirm('Are you sure you want <?php  echo $show_venue['venue'];?>  be your party venue 
 ?');"  value="CHOOSE" name="choose_venue">

【问题讨论】:

  • 第一,.one("click" -> .on("click"
  • @blex 对不起,我不明白你的意思......你能更具体一点吗?
  • 尝试使用.attr('disable','disable');禁用您的按钮点击
  • @blex 这不是错字,one() 是一个有效的 jQuery 方法,用于将处理程序附加到事件的单个实例。
  • @RoryMcCrossan 哦,我不知道,谢谢,我学到了一些东西!

标签: javascript jquery


【解决方案1】:

您没有在点击后禁用按钮。

$(this).prop('disabled', true);

这里是你所追求的代码:http://jsfiddle.net/UT79m/6/

【讨论】:

  • 这将返回属性值,而不是更改它。应该是prop('disabled', true);
  • @BenFortune 没问题。不过,上面的代码使用 getter 是对的。
  • 伙计们它仍然无法正常工作......我想可能是在按钮单击页面后会运行表单操作......我怎样才能避免刷新
  • @user3652484 现在试试小提琴。停止事件触发的默认操作。它应该停止提交表单。
  • @RichFlavell 仍然相同,因为返回确认...如果返回 true 按钮实际上授予运行PHP 的权限...然后页面操作到当前页面...因此javascript 不工作
【解决方案2】:

您可以添加一个类以在第一次单击后设置“选择”状态:

$("#once").on("click", function() {
   if($(this).hasClass('selected'))
       return;
   alert('this only happens once');
   $(this).addClass('selected');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2019-10-25
    • 2011-01-20
    相关资源
    最近更新 更多