我有一个表单,用户需要单击一个链接,通过弹出窗口选择一个用户,然后用ID和带有用户名的显示字段填充一个隐藏字段 .
显示字段设置为disabled =“disabled”以强制用户使用弹出窗口而不在字段中键入值 .
我需要确保用户选择一个名字 . 我正在使用jQuery和Jorn的验证插件 .
如果值为空,则在禁用字段上执行必需:true似乎不会触发 .
任何想法如何解决这个问题?
而不是让它被禁用,你尝试过只读吗?
<input type="text" readonly="readonly" />
我记得几年前,禁用字段不是由表单提交的,因此可能没有经过验证
这是关于该主题的W3C HTML4 Spec .
根据之前的建议,可能的解决方案可能是:
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() 正常行为
$('#form').valid(true)
$('#form').valid()
最好的问候加埃塔诺
为什么不启用它只是为了验证然后再次禁用它...使用 .attr('disabled','') 启用它然后 .attr('disabled','disabled') 再次禁用它会发生这么快你甚至不会注意到它 .
.attr('disabled','')
.attr('disabled','disabled')
3 回答
而不是让它被禁用,你尝试过只读吗?
我记得几年前,禁用字段不是由表单提交的,因此可能没有经过验证
这是关于该主题的W3C HTML4 Spec .
根据之前的建议,可能的解决方案可能是:
所以你可以使用可选参数调用有效方法:
$('#form').valid(true)
也检查禁用字段或$('#form').valid()
正常行为最好的问候加埃塔诺
为什么不启用它只是为了验证然后再次禁用它...使用
.attr('disabled','')
启用它然后.attr('disabled','disabled')
再次禁用它会发生这么快你甚至不会注意到它 .