完全禁用输入字段[重复]

Posted

技术标签:

【中文标题】完全禁用输入字段[重复]【英文标题】:disable input field totally [duplicate] 【发布时间】:2012-11-04 04:39:55 【问题描述】:

我在显示欠款金额的表单上有输入。基本上,如果欠款为零,我会添加一个名为“paid”的特殊类,并且可以使用 jquery $(".paid")。所有这一切都运作良好。

问题是,如何防止用户点击或输入文本或使用这些输入执行其他任何操作?

到目前为止,这是我的幻想。

function disablepaid()
    $(".paid").on("click", function()
        alert("Do disabling stuff now");
    );

在其他一些帖子中,我看到人们尝试 jquery blur(),并设置 disabled 属性,如下所示 How do i grey out the input field and the submit button

请指教,谢谢。

【问题讨论】:

答案是将disabled属性设置为true 你为什么不通过 ajax 显示这个...比如如果条件匹配只显示字段,因为我可以禁用 js @NullPointer - 如果你禁用 js,那么 ajax 调用当然也不起作用......?...... 【参考方案1】:

您可以在输入上设置disabled 属性..

类似:

    function disablepaid()
        $(".paid").on("click", function()
            alert("Do disabling stuff now");
            $(this).prop('disabled', true);
        );
    

如果您需要在任何时候重新启用它:

    $(".paid").prop('disabled', false);

更新

另外,与其让用户点击付费输入字段然后禁用它,为什么在设置零金额时不禁用它?

【讨论】:

谢谢,我更喜欢这个,因为我使用的是最新的 jquery 版本 @Binaryrespawn,不客气。一旦你掌握了这个库,你会惊讶于你可以用很少的代码做什么:)【参考方案2】:

只需使用 prop() 并将 disabled 属性设置为 true

$(".paid").on("click", function()
        $(this).prop('disabled', true);

        // or  
        this.disabled = true; 
);

【讨论】:

或者只是this.disabled = true; @Pointy - 是的,我刚刚添加了【参考方案3】:

您可以禁用输入

$(".paid").attr("disabled", "disabled");

【讨论】:

最好在“点击”处理程序中使用this.disabled = true;。自 jQuery 1.6 以来,像这样使用 .attr() 有点错误。

以上是关于完全禁用输入字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在输入字段中禁用难看的黄色突出显示。 html css [重复]

如何完全禁用 FirebaseAnalytics 或 Crashlytics [重复]

选择禁用不插入的字段[重复]

禁用的表单字段不提交数据[重复]

使用 JQuery 删除禁用的属性 [重复]

带有初始数据的 Django 禁用字段引发验证错误 [重复]