在Chrome浏览器中,jQuery的.attr("disabled", "disabled")无法正常工作。

13 浏览
0 Comments

在Chrome浏览器中,jQuery的.attr("disabled", "disabled")无法正常工作。

不确定为什么这个不起作用。\n当用户点击我的应用程序的“编辑”按钮时,禁用的文本字段将变为可编辑状态:\n

$("#bewerken").click(function(e)    {
    $("input[disabled='disabled']").removeAttr('disabled');
});

\n然后,当用户保存时,我希望再次禁用文本字段;我将以下代码绑定到保存按钮:\n

$("#save_school_changes").click(function(e) {
    //具体操作
    $.ajax({
        type: "POST",
        url: "/school/save_changes",
        data: { //具体数据 },
        success: function(data)
        {
            $("#feedback_top").html("" + data['message'] + "").slideDown('slow').delay(2000).slideUp();
            $("input[type='text']").attr('disabled', 'disabled');
        }
    });
    e.preventDefault();
});

\n据我所知,这应该再次禁用文本字段。然而,在Chrome中似乎没有起作用。在Firefox中可以正常工作。我还没有机会在IE或Safari中进行测试。是否有任何方法使其在Chrome中也能正常工作?非常感谢!

0
0 Comments

问题出现的原因是在Chrome浏览器中,使用jQuery的.attr()方法将disabled属性设置为"disabled"时,无法起作用。解决方法是改用.removeAttr()方法来移除disabled属性,然后使用.attr()方法将其重新设置为"disabled"。在ajax成功后,使用.attr()方法将所有type为text的input元素的disabled属性设置为true。在提交表单之前,确保先移除disabled属性,否则该数据将无法提交。如果需要在更改之前提交数据,则需要使用readonly属性。需要注意的是,如果要通过get或post方式提交数据,应该使用readonly属性。

0
0 Comments

问题出现的原因是在Chrome浏览器中,使用jQuery的.attr方法将disabled属性设置为disabled时,可能无效。解决方法是使用.addClass方法添加一个自定义的CSS类,并在该类中设置pointer-events为none和cursor为default,以达到禁用input元素的效果。以下是整理后的文章:

在Chrome浏览器中,使用jQuery的.attr方法将disabled属性设置为disabled时可能会无效。但是,我们可以采用其他方法来解决这个问题。

最开始,我尝试了以下代码来禁用input元素:

$('input:text').attr("disabled", 'disabled');

然而,这种方法在Chrome浏览器中并没有起作用。于是我继续寻找解决方案。

最终,我找到了一个有效的解决办法。我使用了.addClass方法来添加一个自定义的CSS类,并在该类中设置了pointer-events为none和cursor为default。这样就能达到禁用input元素的效果。

下面是我添加的代码:

$('input:text').addClass("notactive");

此外,我还需要在HTML中添加以下样式:

<style type="text/css">
    .notactive {
        pointer-events: none;
        cursor: default;
    }
 </style>

通过这种方式,我成功地解决了在Chrome浏览器中使用jQuery的.attr方法将disabled属性设置为disabled无效的问题。

希望这篇文章能够帮助到遇到类似问题的人们。

0
0 Comments

问题的原因是在使用jQuery的.attr()方法将disabled属性设置为disabled时,在Chrome浏览器中无效。解决方法是根据使用的jQuery版本进行不同的处理。如果使用的是jQuery版本小于1.6,则可以使用.attr()方法将disabled属性设置为disabled。如果使用的是jQuery版本1.6以上,则应该使用.prop()方法将disabled属性设置为true。另外,也可以尝试使用选择器: text来选择文本类型的输入框,并使用.attr()方法将disabled属性设置为disabled。在某些情况下,可能会存在其他bug导致该方法无效。

0