Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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 检查按钮是否已禁用,然后在单击时提醒HTML_Javascript_Html_Onclick - Fatal编程技术网

Javascript 检查按钮是否已禁用,然后在单击时提醒HTML

Javascript 检查按钮是否已禁用,然后在单击时提醒HTML,javascript,html,onclick,Javascript,Html,Onclick,现在我有一个复选框,用于启用/禁用表单的提交按钮 我只是用这个代码来启用/禁用它 onclick="if(this.checked){this.form.submit_btn.disabled=false}else{this.form.submit_btn.disabled=true};this.blur();" 现在我只是想知道我如何才能使它,如果他们点击按钮时,它被禁用,有一个特定的消息提醒他们 因此,将onclick事件添加到按钮,并使其类似于 if(this.disabled=true

现在我有一个复选框,用于启用/禁用表单的提交按钮

我只是用这个代码来启用/禁用它

onclick="if(this.checked){this.form.submit_btn.disabled=false}else{this.form.submit_btn.disabled=true};this.blur();"
现在我只是想知道我如何才能使它,如果他们点击按钮时,它被禁用,有一个特定的消息提醒他们

因此,将onclick事件添加到按钮,并使其类似于

if(this.disabled=true){alert('Button disabled!');}
还是类似的?我对onclick的东西都很陌生


谢谢

我不知道它值多少钱,但在jQuery中它会是这样的:

// Not tested!    
$(document).ready(function(){
  $('#myButton').click(function(){
     if($(this).is(':disabled')) { 
         alert('No need to click, it\'s disabled.');
     } 
  });
});

但我不明白这有什么意义。为什么在按钮已被禁用(并且浏览器正在显示)的情况下用消息来打扰某人呢?

不知道它值多少钱,但在jQuery中它会是这样的:

// Not tested!    
$(document).ready(function(){
  $('#myButton').click(function(){
     if($(this).is(':disabled')) { 
         alert('No need to click, it\'s disabled.');
     } 
  });
});

但我不明白这有什么意义。为什么在按钮已被禁用(而浏览器显示为禁用)的情况下用消息来打扰某人呢?

无论如何,你不可能很好,至少不能直接。当按钮被禁用时,它将被禁用,这意味着它也不会触发任何事件

现在。。也就是说,有一种方法可以让你绕过它,如果你必须这样做的话

基本上,您可以使用2个div和一个按钮使其工作,如下所示:

    <div>
      <div id="overlay" style="display:hidden; z-order:99999">&nbsp;</div>
      <button id="mybtn">My Button to click</button>
    </div>

点击我的按钮
您将覆盖div的背景色设置为透明,当您禁用该按钮时,您将取消隐藏覆盖div

因为div是透明的,所以您应该在按钮中看不到任何更改,但是单击它将导致透明div首先拾取单击


然后将click处理程序附加到overlay div,结果是您可以触发一条消息,该消息通过单击disabled(禁用)按钮来显示(但实际上不是)弹出。

您至少不能直接触发。当按钮被禁用时,它将被禁用,这意味着它也不会触发任何事件

现在。。也就是说,有一种方法可以让你绕过它,如果你必须这样做的话

基本上,您可以使用2个div和一个按钮使其工作,如下所示:

    <div>
      <div id="overlay" style="display:hidden; z-order:99999">&nbsp;</div>
      <button id="mybtn">My Button to click</button>
    </div>

点击我的按钮
您将覆盖div的背景色设置为透明,当您禁用该按钮时,您将取消隐藏覆盖div

因为div是透明的,所以您应该在按钮中看不到任何更改,但是单击它将导致透明div首先拾取单击


然后,您可以将单击处理程序附加到覆盖div,其结果是,您可以触发一条消息,通过单击禁用按钮来显示(但实际上不是)弹出该消息。

相反,您可以使用灰度方法更改图像样式

img {
  filter: gray; /* IE6-9 */
  filter: grayscale(1); /* Firefox 35+ */
  -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
}

相反,您可以使用灰度方法更改图像样式

img {
  filter: gray; /* IE6-9 */
  filter: grayscale(1); /* Firefox 35+ */
  -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
}

我不认为这是特别必要的-浏览器设置禁用按钮的样式使其看起来像这样,并且在单击按钮时没有采取任何操作(或应用“按钮关闭”样式),您不需要另一个通知来告诉用户按钮被禁用。当按钮被禁用时,onClick不起作用,这就是禁用按钮的全部意义。取而代之的是,在上面的span或div按钮中显示消息,通过单击checkboxNot To good JS接受条款(如果是这样的话)。。。但在JQuery中,您可以执行mouseenter/hover等操作,提示用户需要填写复选框。您甚至应该能够添加一个与OnClick命令不同的click事件:)现在按钮的样式是一个不变的图像,我可以让它在禁用按钮时更改按钮图像吗?我不认为这是特别必要的-浏览器样式禁用按钮看起来像这样,并且没有采取任何操作(或“按钮关闭”样式已应用)当单击按钮时,您不需要另一个通知告诉用户按钮已禁用。当按钮被禁用时,onClick不起作用,这就是禁用按钮的全部意义。相反,在按钮上方的span或div中显示消息以接受条款(如果是这种情况)通过点击checkbox不太擅长JS…但是在JQuery中,你可以做mouseenter/hover之类的操作来提示用户需要填充复选框。你甚至应该能够添加一个与OnClick命令不同的点击事件:)好吧,现在按钮的样式是一个不变的图像,我可以让它更改按钮图像吗当按钮被禁用时?我之所以需要一条消息,是因为按钮被设置了一个图像样式,当按钮被禁用时图像不会改变,因此用户无法知道按钮是否被禁用,当他们点击它时,可能会认为网站有问题,而它什么也不做。为什么不使用Javascript呢(或jQuery,如您所愿)如果将背景图像更改为某个图像,则表明无法单击按钮而不是显示消息?感谢您的建议!:)我最终还是这样做了:)我需要消息的原因是,按钮正在使用图像进行样式设置,当按钮被禁用时,图像不会更改,因此用户没有办法知道按钮是否被禁用,当他们点击网站时,可能会认为网站有问题,但它什么也不做。为什么不使用Javascript(或者jQuery,你希望这样)将背景图像更改为更能表明按钮无法单击而无法显示消息的图像?谢谢你的建议!:)我最终还是这样做了:)谁给过我-2,我想知道你为什么这么做?这很公平……我不知道为什么有人会-1你:O我给过你+1:)谁给过我对于这个-2,我想知道你为什么这样做?这只是公平的…我不知道为什么有人会-1你:O我给了你+1:)