首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery.validator和一个页面上的两个联系人表单将在提交时验证空表单

jquery.validator和一个页面上的两个联系人表单将在提交时验证空表单
EN

Stack Overflow用户
提问于 2012-08-22 15:21:19
回答 3查看 2.4K关注 0票数 1

我目前在一个网页上使用了两个相同的联系人表单。每个页面上都有一个--在横幅中,另一个版本在联系人页面本身的主要部分。这是我用来验证它的方法:

代码语言:javascript
运行
复制
$(".contactform").each(function() {
    $(this).validate();
});

但是,当我在两个表单中的任何一个上单击submit时,另一个表单(未使用的表单)返回并显示错误。我不希望这个人必须填写这两个(因为它们是完全相同的表格),并对从这里到哪里有点困惑。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-22 23:47:06

根据xnnyygn的回答,我最终做的是按id添加单独的.validate规则,当按类或表单添加时,这将不起作用,并显示第一个选择错误结果。

代码语言:javascript
运行
复制
$("#contactform1").validate({
  rules: {
    field: {
      required: true
    }
  }
});

$("#contactform2").validate({
  rules: {
    field: {
      required: true

    }
  }
});


$(document).ready(function(){
  $("#contactform1").validate();
  $("#contactform2").validate();
});

在这里,我最终使用了两个I而不是类或表单选择器。否则将不起作用。学到的教训是,对于jquery.validator,您必须使用ids。

票数 2
EN

Stack Overflow用户

发布于 2012-08-22 16:14:38

这是我的test HTML,来自http://docs.jquery.com/Plugins/Validation#source,添加了一个具有相同类的重复表单。

我尝试直接调用validated,但是当我按下第二个submit按钮时,第一个表单被验证了。但是,单独调用validate效果很好。

验证器“跳转”到另一个表单的原因可能是jquery验证器只接受第一个元素(表单)并应用规则。有关更多详细信息,请参阅源代码。

票数 1
EN

Stack Overflow用户

发布于 2012-08-22 15:40:23

不确定它是否解决了这个问题,但您不应该显式地使用'.each()‘。只需写下:

代码语言:javascript
运行
复制
$(".contactform").validate();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12068129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档