javascript – jQuery验证验证禁用的输入字段

前端之家收集整理的这篇文章主要介绍了javascript – jQuery验证验证禁用的输入字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经使用jQuery验证为我的表单设置了验证.不幸的是,在某些时候我想调用$(“#clientConfigurationForm”).valid()强制在用户启用/禁用复选框时重新评估.我希望当它们被禁用并且调用.valid()时,忽略当前无效的输入表单(并且失去验证状态).目前这没有发生.我怎样才能让它发挥作用?

复选框事件

  1. $("#clientConfigurationForm").on("change","input[type=checkBox]",function(){
  2. $(this)
  3. .closest("div")
  4. .find("input,select")
  5. .not(this)
  6. .not(":submit")
  7. .prop("disabled",!$(this).prop("checked"))
  8. .each(function(){
  9. $(this).valid();
  10. });
  11. });

验证码

  1. $("#clientConfigurationForm").validate({
  2. onkeyup: function (element) {
  3. $(element).valid();
  4. },focusInvalid: false,invalidHandler: function(form,validator) {
  5. if (!validator.numberOfInvalids())
  6. return;
  7. // Find out what my ID is
  8. var formIndex = $(validator.errorList[0].element).prop("id").replace(/[A-Za-z]+/g,'');
  9. $("#clientSettingsLinks a").eq(formIndex).trigger("click");
  10. },errorPlacement: function (error,element) {
  11. var parent = $(element).parent();
  12. var validationContainer = parent.find(".validationResult");
  13. if (validationContainer.length == 0){
  14. validationContainer = $('
最佳答案
Documentation:类型提交和重置的输入始终被忽略,因此禁用的元素也是如此.

然而,你似乎发现了一些奇怪的东西.

这有效

Live Demo

  1. var val;
  2. $("#clientConfigurationForm").on("change",function () {
  3. val.resetForm();
  4. $(this)
  5. .closest("div")
  6. .find("input,!$(this).prop("checked"))
  7. .not(":disabled")
  8. .each(function () {
  9. $(this).valid();
  10. });
  11. });
  12. val = $("#clientConfigurationForm").validate({
  13. onkeyup: function (element) {
  14. $(element).valid();
  15. },submitHandler: function (form) {
  16. alert("submitted");
  17. }
  18. });

猜你在找的jQuery相关文章