我需要能够仅在单击按钮时提交表单。此外,我需要在表单提交后禁用按钮。仅提交按钮+禁用提交w/jQuery
我想为按钮添加一个id并添加一个点击功能。我在正确的轨道上吗?仍然不确定如何在实际点击后禁用按钮。
$('#myButton').click(function() {
});
我需要能够仅在单击按钮时提交表单。此外,我需要在表单提交后禁用按钮。仅提交按钮+禁用提交w/jQuery
我想为按钮添加一个id并添加一个点击功能。我在正确的轨道上吗?仍然不确定如何在实际点击后禁用按钮。
$('#myButton').click(function() {
});
$('#myButton').click(function() {
$(this).attr('disabled','disabled')
});
你在正确的轨道上。单击后禁用按钮,您只需设置disabled
属性。喜欢的东西
$('#myButton').click(function() {
// get a reference to the element on which the handler is bound
// wrap it in a jQuery object so we can call jQuery methods on it.
$(this)
// set the disabled attribute. You can use true or the string 'disabled'
.attr('disabled', true);
});
记住,形式也可以通过按下Enter
键当表单中的元素具有焦点提交。
或简单地说:'$(this).attr('disabled',true).closest('form')。submit();'Yay for chaining! – 2011-04-18 19:47:05
@亚当 - 是啊!我不记得'attr'是否返回了原始对象。将更新:) – 2011-04-18 19:49:20
我会继续进一步说,你不需要在表单上调用.submit()。可能需要小提琴来证明,但只要你不停止传播或返回错误,就应该进行默认操作(即提交表单)。如果没有在你的函数中返回false,你可能实际上会提交表单两次,如果是这样的话。 – 2011-04-18 19:51:42
我不久前就此进行了一场健康的辩论,我已经开始欣赏'$(this).attr('disabled',false)'字符串值。您可以将字符串设置为任何内容,并且它的功能相同,因此无意义。而且,重新启用与'.attr('disabled',false)'一样简单,而不是完全删除属性。只是思考的食物。 – 2011-04-18 19:48:55
是的,这是我们所需要的不一致之处,就像选择与检查一样。 – 2011-04-18 20:00:51
这并不矛盾。 '.attr('disabled',false)'在你进行DOM操作时更加一致。而禁用DOM属性的W3C标准是布尔类型,而不是字符串。 – 2011-04-18 20:05:18