jQuery代码在Firefox中工作,但不在Chrome和IE 8中?

问题描述:

在这段代码中我正在禁用提交按钮,当我点击一次后3000毫秒我在写这使..jQuery代码在Firefox中工作,但不在Chrome和IE 8中?

这是工作正常,在Firefox,但无法在Chrome ..

有什么这段代码错了?

// to make all the submit button disable due to avoid duplicate entries. 
    $('.logged-in #edit-submit').click(function(){ 
     var input = this; 
     input.disabled = true; 
     setTimeout(function() { 
      input.disabled = false; 
     }, 3000); 

    }); 
+0

您可以使用Firefox中的Firebug来诊断问题。查看控制台消息,将调试点放在函数的最后一个括号中,等等。 – 2012-03-01 08:38:46

+0

我没有得到注释行......“使所有提交按钮禁用”。使用您的选择器,您只能(!)选择页面上的一个单一元素。所以它可以是最多一个提交按钮,否则你的HTML是有缺陷的。 – devnull69 2012-03-01 08:38:48

+0

@@ LostlnLib:我试过控制台消息,并用萤火虫检查问题..但我找不到解决方案 – Fero 2012-03-01 08:43:49

“disabled”属性需要“disabled”作为值(Doc)。最佳设置和使用jQuery工具删除属性:

$('.logged-in #edit-submit').click(function(){ 
    var input = this; 
    $(input).attr("disabled", "disabled"); 
    setTimeout(function() { 
     $(input).removeAttr("disabled"); 
    }, 3000); 
}); 

你可以看到它在这里工作:http://jsfiddle.net/christians/U9eDw/

+0

欢迎来到SOF ...并感谢您宝贵的答复...保持它的朋友。 ... – Fero 2012-03-01 09:31:40

+0

是的......但.disabled不是禁用属性,而是Javascript禁用的属性,它可以完美地处理真/假值跨浏览器! – devnull69 2012-03-01 09:35:41