这是我的简单功能
$('#save_button').click(function() {
$(this).attr('disabled',true).val('Saving');
$('#new_record_form').ajaxForm({
url: '/',
type: "POST",
dataType: "json",
beforeSubmit: function(){ alert('Boo!'); },
success: function(){ alert('Hello!'); }
});
});
这适用于Firefox,但不适用于Internet Explorer,Chrome或Safari。
评论这一行$(this).attr('disabled',true).val('Saving');
似乎可以使事情发挥作用。
出现这种情况的原因是什么?
答案 0 :(得分:1)
我经常写$(accessor).attr("disabled", "disabled");
,这会产生看似<... disabled="disabled" .../>
生成的HTML。我不知道你可以使用你的语法。你能尝试一下吗,看看它是否有效?
要删除该属性,请使用$(accessor).removeAttr("disabled");
。
答案 1 :(得分:1)
当html input被'禁用'时,它不应该能够发送输入。 请尝试将属性更改为“只读”。
答案 2 :(得分:0)
您似乎无法修改禁用的控件...
但也许这样做可以解决问题:
$('#save_button').click(function() {
$(this).val('Saving');
$(this).attr('disabled',true);
$('#new_record_form').ajaxForm({
url: '/',
type: "POST",
dataType: "json",
beforeSubmit: function(){ alert('Boo!'); },
success: function(){ alert('Hello!'); }
});
});