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')
再次禁用它会发生它这么快你甚至都不会注意到它。