$(document).ready(function() {
$("#FieldsetID").each(function() {
$('.Isubmit').attr('disabled', 'disabled');
});
});
按钮显示为已禁用,但是当我点击它正在执行操作时?
是我做错了什么?谢谢
答案 0 :(得分:4)
我认为你不能在一个独特的元素上运行.each()函数。它是独一无二的,因为您使用的是#id选择器。
你只需要这样做:
$(document).ready(function() {
$('#FieldsetID .Isubmit').attr('disabled', 'disabled');
});
现在按钮不应该是可点击的。
答案 1 :(得分:2)
出于某种原因,当您单击禁用的提交按钮时,IE不会阻止事件冒泡。
我假设您在祖先上有一些其他事件处理程序因此被触发。
在该祖先的事件处理程序中,您似乎需要进行测试以查看是否已单击submit
按钮以及是否已禁用该按钮。如果是这样,您将return false;
阻止代码运行,或发生提交,或其他任何内容。
// Not sure if this is the right event, but you get the idea
$( someSelector ).click(function( event ) {
var $target = $(event.target);
// check to see if the submit was clicked
// and if it is disabled, and if so,
// return false
if( $target.is(':submit:disabled') ) {
return false;
}
});
答案 2 :(得分:1)
Altough未经测试,我认为当您按ID选择元素时,您不需要使用每个元素,因为它返回一个元素,当您选择使用类时,您必须使用每个元素,尝试在禁用选择器上使用每个元素见。
答案 3 :(得分:1)
http://forum.jquery.com/topic/disable-enable-button-in-form
尝试此操作即可启用它。再次
$(document).ready(function(){
$("input[type=submit]").attr("disabled", "disabled");
if ( $('#nome').is(":empty") ) {
alert ("verdadeiro");
}
else {
alert ("entrou no if");
$("input[type=submit]").removeAttr("disabled");
}
});
答案 4 :(得分:0)
最简单的方法是查找单击按钮是否已禁用类,如果它返回false,例如:
$('.button1').click(function () {
if ($(this).hasClass('disabled')) {
return false;
} else {
//do whatever you want when element is clicked
}
});