【问题标题】:jQuery validation without form tag没有表单标签的jQuery验证
【发布时间】:2013-03-05 18:56:55
【问题描述】:

我有一个包含许多输入的“表单”,在提交按钮上我调用了一个 javascript 函数来操作信息并通过 ajax 发送到一个 php 文件..

我可以添加一个没有操作 url 的表单标签来使用 jquery validate 来验证我的“表单”吗?还是我必须手动进行验证?

谢谢!

【问题讨论】:

  • 我已经完全回答了您非常基本的问题并提供了工作示例。如果你想知道为什么你自己的代码被破坏的具体答案,你将不得不显示代码

标签: jquery jquery-validate


【解决方案1】:

“我有一个包含许多输入的‘表单’,在提交按钮上我调用了一个 处理信息并通过 ajax 发送到 php 的 javascript 函数 文件”

您必须拥有<form></form> 标签才能让 jQuery Validate 插件正常运行,或者根本不需要。

如果您使用ajax,则必须使用put your ajax inside the submitHandler of the jQuery Validate plugin。请参阅下面的示例。

“我可以添加一个没有操作 url 的表单标签来使用 jquery validate 验证我的“表单”吗?”

是的,您可以删除或阻止 action 并仍然使用 jQuery Validate。

查看演示:http://jsfiddle.net/NEPsc/3/

将您的ajaxreturn false 放在submitHandler 中,不会发生常规提交:

$(document).ready(function() {

    $('#myform').validate({ // initialize plugin
        // your rules & options,
        submitHandler: function(form) {
            // your ajax would go here
            return false;  // blocks regular submit since you have ajax
        }
    });

});

编辑

根据 OP 的 cmets,要使用 input type="button" 而不是 input type="submit",您需要使用 click 处理程序。 不需要任何内联 JavaScript。完全删除onClick 函数。

查看更新的演示:http://jsfiddle.net/NEPsc/5/

【讨论】:

  • “jQuery Validate 插件必须有
    标签才能正常运行,或者根本不需要。”当我的 HTML 在 ASP.NET 应用程序中提供并且全部包装在 <form> 标记中以便代码隐藏的东西工作时,这是一个完整的错误。当 jquery 有机会查看它时,我嵌入的 <form> 被剥离并且不在 DOM 中。
猜你喜欢
  • 1970-01-01
  • 2019-02-10
  • 2023-02-02
  • 1970-01-01
  • 2018-04-04
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多