Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 监听器,检查按钮是否被禁用,在禁用时是否被单击,如果是,弹出一个警报_Javascript_Jquery_Html - Fatal编程技术网

Javascript 监听器,检查按钮是否被禁用,在禁用时是否被单击,如果是,弹出一个警报

Javascript 监听器,检查按钮是否被禁用,在禁用时是否被单击,如果是,弹出一个警报,javascript,jquery,html,Javascript,Jquery,Html,我不熟悉Javascript和jquery,正在努力学习 我制作了一个提交按钮,当客户端不上传图像时,该按钮保持禁用状态。它工作得很好。 提交按钮称为PROSEGUIR。 我想做的是。。。如果客户端在禁用PROSEGUIR按钮时尝试单击该按钮,则会弹出一条警报消息。。但它不起作用 查看html按钮: <input type="submit" disabled="disabled" name="proseguir" id="proseguir" value="Prosseguir >&

我不熟悉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>

$(文档).ready(函数(){
$(“#proseguir”)。单击(函数(){
如果($(this).is('[disabled=disabled]')==true){
警告(“请在提交前上传图像”);
}
});
});
我做错了什么?因为它不起作用。当用户在PROSEGUIR按钮(提交)被禁用时单击该按钮时,不会显示警报弹出窗口


请帮帮我

当元素处于禁用状态时,无法捕获单击事件。 您可以这样做:

<input type="submit" class="bg-red btn_next_two is_disable" name="proseguir" id="proseguir" value="Prosseguir">
当上传完成后,您可以使用
$(“#proseguir”).removeClass('is#disable')
您可以通过使用或简单地通过
this.disabled
来检查
禁用

$(document).ready(function(){
   $("#proseguir").click(function(){ 
      if($(this).prop('disabled')) {  // or use this.disabled
          alert("Please upload an image before submitting"); 
      }
   });
});
但不能在禁用的元素上触发单击事件。参见片段

$(文档).ready(函数(){
$(“.proseguir”)。单击(函数(){
console.log(这个被禁用);
if($(this.prop('disabled')){
警告(“请在提交前上传图像”);
}
});
});



禁用的元素不会按设计触发事件,因此您无法捕获对禁用按钮的单击

您可以保持按钮处于启用状态并以某种方式对其进行样式设置,也可以通过在按钮顶部放置另一个元素来假装单击,如下图所示

$(文档).ready(函数(){
var inp=$('proseguir'),
div=$(''){
css:{
高度:输入外光源(),
宽度:inp.outerWidth(),
顶部:inp.offset().top,
左:inp.offset().left,
zIndex:999
位置:'绝对',
},
id:'fakeBtn',
关于:{
单击:函数(){
输入触发器(“点击”);
}
}
}).appendTo(inp.parent());
$('#uploadFiles')。在('change',function()上{
$(“#proseguir”).prop('disabled',false);
$('#fakeBtn').hide();
});
$(“#proseguir”)。单击(函数(){
如果(此项已禁用){
警告(“请在提交前上传图像”);
}
});
});





这可能会对您有所帮助。罗汉,我完全按照你说的做了。但由于某些疯狂的原因,提交按钮允许进入下一页,但显示没有上传文件的警报弹出。。有什么问题?您正在使用
表单
中的
提交
按钮,以防止向表单操作发送数据,请使用“return false;”,如果文件值为空。试试我更新的代码片段。太棒了!它工作得很好!!我不知道该如何感谢你@欢迎你。很高兴知道您已经用我的代码片段修复了它。是的,您的帮助非常重要!!你能给我你的skype或其他方式与你交谈吗??给我在这里和删除后。。。只是为了和你保持联系
$(document).ready(function(){
   $("#proseguir").click(function(){ 
      if($(this).prop('disabled')) {  // or use this.disabled
          alert("Please upload an image before submitting"); 
      }
   });
});