2011-09-09 41 views
1

好吧现在我有了这个复选框,这是启用/禁用我的表单提交按钮。检查按钮是否被禁用,然后提醒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){alert('Button disabled!');} 

或类似的东西?我对所有onclick的东西都很陌生。

感谢

+1

我不认为这是尤为必要 - 浏览器风格禁用的按钮看起来是这样的,看到因为没有采取行动(或“按钮按下”造型被应用)单击该按钮时,你不要当不需要告知用户该按钮被禁用的另一个通知。 – Bojangles

+0

onClick在禁用按钮时不会工作,这是禁用按钮的全部要点。相反,通过点击复选框,在上面的span或div上方显示消息以接受条款(如果是这种情况) – Parvesh

+0

不太擅长JS ......但是在JQuery中,您可以使用mouseenter/hover或其他方法来提示用户需要填写复选框。你甚至应该能够添加一个点击事件,不像OnClick命令:) –

回答

8

不知道它的价值,但在jQuery的它会去像:

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

不明白这一点,但。当按钮已被禁用时(为什么浏览器显示如此),为什么还要打扰某人的消息?

+0

以及我需要一条消息的原因是因为该按钮是用图像样式化的,当该按钮被禁用时,图像不会改变,因此用户无法知道按钮是否被禁用,并且可能认为某个错误当他们点击它时,网站就不会执行任何操作。 –

+0

为什么不使用Javascript(或所以你希望的jQuery)将背景图像更改为某些图像,更多地表明该按钮不能被点击而不是显示消息? –

+0

感谢您的建议! :)我结束了这样做,而不是:) –

3

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

现在..说,有一种方法,你可以绕过它,如果你绝对必须。

本质上讲,你可以通过使用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上,其结果是您可以触发一条显示(但不是真的)被点击禁用按钮弹出的消息。

+0

谁给我这个-2,我想知道你的理由为什么?这只是公平的... – shawty

+0

我不知道为什么有人会-1你:我给你+1 :) –

+0

很好的解释。谢谢 –

0

相反,你可以用灰度级方法改变图像风格。

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