javascript - 检查按钮是否被禁用以及是否在禁用时单击它的监听器,如果是,则弹出警报

标签 javascript jquery html

我是 Javascript 和 jquery 的新手,正在努力学习

我制作了一个提交按钮,当客户端不上传图片时该按钮保持禁用状态。它工作正常。 提交按钮称为 PROSEGUIR。 我想做的是...如果客户端在禁用时尝试单击 PROSEGUIR 按钮,它会弹出一条警告消息...但它不起作用。

查看 html 按钮:

<input type="submit" disabled="disabled" name="proseguir" id="proseguir" value="Prosseguir >>" class="bg-red btn_next_two">

是吗?? 现在,我在 jquery 之后写了这个监听器

<script>
   $(document).ready(function(){
      $("#proseguir").click(function(){
        if($(this).is('[disabled=disabled]') == true) {
          alert("Please upload an image before submitting");
        }
      });
   });
</script>

我做错了什么?因为它不工作。当用户在禁用的 PROSEGUIR 按钮(提交)中单击时,不会显示弹出警报...

请帮帮我!!

最佳答案

您可以使用 prop() 检查已禁用或者简单地通过 this.disabled 之类的,

$(document).ready(function(){
   $("#proseguir").click(function(){ 
      if($(this).prop('disabled')) {  // or use this.disabled
          alert("Please upload an image before submitting"); 
      }
   });
});

但是您不能在禁用的元素上触发点击事件。见片段,

$(document).ready(function() {
  $(".proseguir").click(function() {
    console.log(this.disabled);
    if ($(this).prop('disabled')) {
      alert("Please upload an image before submitting");
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" disabled="disabled" name="proseguir" value="Prosseguir >>" class="bg-red btn_next_two proseguir"><br/>
<input type="submit" name="proseguir" value="Prosseguir >>" class="proseguir bg-red btn_next_two">

不是检查提交按钮 disabled 属性,而是验证您的输入文件元素,例如,

$(document).ready(function() {
  $("#proseguir").click(function() {
    var fileName = $('#pfile').val();
    if (fileName == '') {
      alert("Please upload an image before submitting");
      return false; // to prevent form submit
    } else {
      alert('File is: ' + fileName);
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <input type="file" name="pfile" id="pfile" class="bg-red btn_next_two proseguir" /><br/>
  <input type="submit" id="proseguir" name="proseguir" value="Prosseguir >>" class="proseguir bg-red btn_next_two" />
</form>

关于javascript - 检查按钮是否被禁用以及是否在禁用时单击它的监听器,如果是,则弹出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45071071/

相关文章:

javascript - 编写内联 javascript if 语句 onclick 或任何其他 JS 事件?

javascript - 有两个表单,其中包含相同的单选按钮组吗?

javascript - jQuery - 在 load() 之后向元素添加功能

javascript - EmberJS 和 CSS : Span title tooltip for empty text

python - 在 HTML 按钮中引用 Django URL

javascript - 页面在警报窗口内重新加载

javascript - 使用模块模式的 knockoutjs 不起作用

javascript - 从应用程序脚本侧边栏创建 trello 卡会导致状态代码 500

javascript - 使用 Html2Canvas 的文本区域屏幕截图

javascript - 将输入与数组的值进行比较仅适用于单个值