如果我打开一个旧论点的新问题,请原谅我,但我找不到任何有效的解决方案。 我有一个表单,其中某些字段可以被禁用但必须进行验证(因为用户不允许填写而禁用)。
由于原始Javascript Validator排除了提交/重置/图像/禁用,因此我决定修改此文件以使禁用的字段得到验证。
传递的代码:
.not(":submit, :reset, :image, [disabled]")
为:
.not(":submit, :reset, :image")
但我的残疾人字段仍然被忽略。 我尝试了主题的各种变化,但我仍然有问题。
感谢任何新的提示!
答案 0 :(得分:0)
我认为我找到了优秀且优雅的解决方案 - 只需使用html属性readonly
,所有功能都可以正常运行。
<input type="text" readonly="readonly" />
问题是 已禁用字段未按表单提交 ,因此可能未经过验证。 W3C HTML4 Spec
其他解决方案,可在此question
中找到var val;
$("#clientConfigurationForm").on("change", "input[type=checkbox]", function () {
val.resetForm();
$(this)
.closest("div")
.find("input, select")
.not(this)
.not(":submit")
.prop("disabled", !$(this).prop("checked"))
.not(":disabled")
.each(function () {
$(this).valid();
});
});
val = $("#clientConfigurationForm").validate({
onkeyup: function (element) {
$(element).valid();
},
focusInvalid: false,
submitHandler: function (form) {
alert("submitted");
}
});