2013-06-03 125 views
1

我有一个提交按钮,使用jQuery发布,然后回发,如果有任何错误,但如果我添加attr('disabled','disabled');,以避免用户单击两次以上(后两次)以某种方式禁用该按钮不起作用。请参阅fiddle.net以编程方式禁用按钮

+0

它的工作原理,但你的代码是相当差。我在http://jsfiddle.net/j08691/zMKg5/2/简化了你的例子。你的代码禁用按钮甚至没有设置,直到第一次点击按钮,但你可以看到,点击#2它的作品。那,你应该通过'.attr()'使用'.prop()'。 – j08691

+0

thx很多!它现在可以工作,但有一个问题,如果PHP发现任何错误,我有错误后发布,但按钮已禁用,任何方式来解决这个问题? – user2178521

+0

不是没有看到您的其他代码。 – j08691

回答

2

使用.prop()

.prop("disabled", true); 

此外,在小提琴的左侧启用jQuery的。

更新:http://jsfiddle.net/tymeJV/zMKg5/1/

+0

但是请注意,禁用提交按钮可以阻止提交表单 – mplungjan

+1

'.attr('disabled','disabled')'没有什么问题,它们在这种情况下(几乎)是一样的是微不足道的)。主要的问题是'document.ready'上缺少事件处理函数定义。 – qJake

+0

我试过了,它不工作,如果我点击非常快(很多次),它仍然在我的数据库中创建2个文章 – user2178521

1

哇,很多的问题。

  • 您没有将jQuery加载到您的小提琴中。
  • 您需要在使用它们之前定义事件处理程序,最好在页面准备好$(function() { ... });之后。
  • 您可以使用.click(),因为您正在禁用该按钮,这使代码更易于阅读。

叉工作代码:http://jsfiddle.net/TLEG4/

+0

sry我没有复制所有代码,我只是尽量保持简单,我已经准备好了功能 – user2178521

+0

@ user2178521在使用它之前,您仍然需要定义事件。 – qJake