Safari,Chrome和IE中的简单Jquery功能失败

时间:2009-09-23 10:23:02

标签: jquery function

这是我的简单功能

$('#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');似乎可以使事情发挥作用。

出现这种情况的原因是什么?

3 个答案:

答案 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!'); }
      });
});