2011-01-31 84 views
1

我想要添加一个onclick事件到我的表单按钮来让它们禁用,以避免重复发布的功能。使用JS/Jquery后的禁用按钮

<form> 
    <button onclick="disable(this)" type="submit">post</button> 
</form> 
<script> function disable(button){ $(button). ??? }</script> 

Ani的想法或提示?谢谢!

回答

4

该按钮必须是input元素(如果您不通过JavaScript提交表单)。 A <button>元素没有属性type并设置它不起作用。
我也建议通过jQuery附上click处理程序:

<form> 
    <!-- ... --> 
    <input id="submit" type="submit" value="post" /> 
</form> 
<script type="text/javascript> 
    $('#submit').click(function() { 
     $(this).attr('disabled', true); 
    }); 
</script> 

参考:clickattr

0
<button onclick="this.disabled='disabled'" type...> 
+0

的onclick脏。附加处理程序好得多 – ThiefMaster 2011-01-31 15:55:07

+0

OP使用onclick – Mikhail 2011-01-31 16:04:50

+1

onclick是好的。它没有错。 – user113716 2011-01-31 16:05:40

2
$(button).attr('disabled', true); 
+1

如果有的话,应该是`$('button')`。 – 2011-01-31 15:59:14

0

如果你想只针对一个按钮:

$('#buttonID').click(function(){ 
    $(this).attr('disabled', 'disabled'); 
}); 

如果你想有一个函数:

$('#myform').submit(function(){ 
    disableButton($('input[type=submit]', this)); 
}); 

function diableButton(bID){ 
    $(bID).attr('disabled', 'disabled'); 
} 

使用类似说它