jQuery – 我可以validation禁用的字段吗?

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

显示字段设置为disabled =“disabled”以强制用户使用弹出窗口而不在字段中键入值。

我需要确保用户选择一个名字。 我正在使用jQuery和Jorn的validation插件。

如果值为空,则在禁用字段上执行必需:true似乎不会触发。

任何想法如何解决这个问题?

而不是让它被禁用,你尝试过只读吗?

 

我记得多年前,禁用字段不是由表单提交的,因此可能没有经过validation

这是关于该主题的W3C HTML4规范 。

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

 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()表示正常行为

最好的问候加埃塔诺

为什么不启用它只是为了validation然后再次禁用…使用.attr('disabled','')启用它然后.attr('disabled','disabled')再次禁用它会发生它这么快你甚至都不会注意到它。