首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -是否可以验证禁用的字段?

jQuery -是否可以验证禁用的字段?
EN

Stack Overflow用户
提问于 2010-07-26 00:19:26
回答 4查看 14.4K关注 0票数 14

我有一个表单,用户需要点击一个链接,通过弹出窗口选择一个用户,然后用ID填充一个隐藏字段,并用用户名填充一个显示字段。

display字段被设置为disabled="disabled“,以强制用户使用弹出窗口,并且不在字段中输入值。

我需要确保用户选择一个名称。我使用的是jQuery和Jorn的验证插件。

如果值为空,则对disabled字段执行required: true似乎不会触发。

有什么办法解决这个问题吗?

EN

回答 4

Stack Overflow用户

发布于 2010-07-26 00:56:04

您是否尝试过将其设置为只读,而不是将其禁用?

代码语言:javascript
复制
<input type="text" readonly="readonly" />

我记得几年前,禁用的字段不是通过表单提交的,因此可能无法验证

这是关于这个主题的W3C HTML4 Spec

票数 29
EN

Stack Overflow用户

发布于 2014-07-27 05:18:06

根据前面的建议,可能的解决方案可能是:

代码语言:javascript
复制
var _valid = $.fn.valid;
$.fn.valid = function (alsoDisabled) {
    var alsoDisabled = alsoDisabled || false;
    if (alsoDisabled) {
        this.find('[disabled]').prop('disabled', false);
    }
    var retVal = _valid.apply(this);
    if (alsoDisabled) {
        this.find('[disabled]').prop('disabled', true);
    }
    return retVal;
};

因此,您可以使用可选参数调用有效方法:使用$('#form').valid(true)检查禁用字段,或使用$('#form').valid()检查正常行为

向Gaetano致以最好的问候

票数 2
EN

Stack Overflow用户

发布于 2010-07-26 01:00:41

为什么不在验证前启用它,然后再禁用它...使用.attr('disabled','')启用它,然后使用.attr('disabled','disabled')再次禁用它,它会发生得如此之快,以至于你甚至都不会注意到它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3329961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档