Jquery验证插件是否需要表单标签?

我想用http://docs.jquery.com/Plugins/Validation中的jQuery Validation插件验证一些asp.net文本框,但看起来这些元素必须在表单标签之间。 如果我只有几个元素,我几乎不会将它称为一个表单,所以我宁愿不将它们包装在表单元素中。 有没有解决的办法? 另外,如果我在表单上有两个按钮,一个取消按钮和一个提交按钮,并且我希望表单仅在单击提交按钮时进行验证,而不是取消按钮,这是如何实现的?


我只有几个元素,我几乎不会将它称为表单,所以我宁愿不让它们包裹在表单元素中。

如果这些元素不在一个表单标签内,那么它不是一个有效的HTML文档,因此脚本内的行为可能会变得不稳定,这取决于浏览器如何处理格式错误的HTML。

大多数浏览器都会隐式创建一个表单,但现在您无法控制表单的行为。 默认值通常是针对所请求网页网址的发布操作表单。

问题是,您可能不知道在JQuery中使用什么选择器来获取对表单的引用......但是我认为$("form")可以解决这个问题。

验证提交按钮被点击时,但不是取消按钮

插件拦截并运行表单的提交事件。 通常,取消按钮是类型属性设置为“重置”的html输入元素:

<input type="reset" value="cancel" />

重置类型按钮不会导致表单提交,并且这不会触发验证。

如果您使用其他按钮类型,请确保onclick甚至返回false。 这取消了表单的提交动作,但仍允许您在单击按钮时运行自己的javasctipt。


jquery validate插件需要一个表单元素才能运行,所以你应该在表单中包含你的表单字段(不管有​​多少)。

您可以告诉验证插件不要在表单提交中操作,然后在单击正确的提交按钮时手动验证表单。

例如,使用一个类来识别正确的提交按钮:


$(document).ready(function() {
  var form = $("form");

  form.validate({
    onsubmit: false,
  });

  //Validate form only if validation submit button is clicked
  //Allows cancel submit buttons to function properly
  $('.validate', form).click(function() {
    if (form.valid()) {
      form.submit();
    }
    else {
      form.validate().form();
    }
  });

});
链接地址: http://www.djcxy.com/p/44137.html

上一篇: Does the Jquery validation plugin require a form tag?

下一篇: Problem when using python logging in django and unicode