我有一个表单,用户需要点击一个链接,通过弹出窗口选择一个用户,然后用ID填充一个隐藏字段,并用用户名填充一个显示字段。
display字段被设置为disabled="disabled“,以强制用户使用弹出窗口,并且不在字段中输入值。
我需要确保用户选择一个名称。我使用的是jQuery和Jorn的验证插件。
如果值为空,则对disabled字段执行required: true似乎不会触发。
有什么办法解决这个问题吗?
发布于 2010-07-26 00:56:04
您是否尝试过将其设置为只读,而不是将其禁用?
<input type="text" readonly="readonly" />我记得几年前,禁用的字段不是通过表单提交的,因此可能无法验证
这是关于这个主题的W3C HTML4 Spec。
发布于 2014-07-27 05:18:06
根据前面的建议,可能的解决方案可能是:
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致以最好的问候
发布于 2010-07-26 01:00:41
为什么不在验证前启用它,然后再禁用它...使用.attr('disabled','')启用它,然后使用.attr('disabled','disabled')再次禁用它,它会发生得如此之快,以至于你甚至都不会注意到它。
https://stackoverflow.com/questions/3329961
复制相似问题