没有表单标签的jQuery验证

14
我有一个带有许多输入框的“表单”,在提交按钮处,我调用一个JavaScript函数来处理信息并通过ajax发送到一个php文件。
我能添加一个没有操作URL的表单标签来使用jQuery验证我的“表单”吗?或者我必须手动验证?
谢谢!

我已经充分回答了你非常基础的问题,并提供了可行的示例。如果你想要关于为什么你自己的代码出错的具体答案,你必须展示代码。 - Sparky
1个回答

13
"我有一个带有多个输入框的 '表单',在提交按钮上调用一个javascript函数来处理信息并通过ajax发送到php文件。"
为了使jQuery验证插件正常工作或完全工作,您绝对需要使用<form></form>标记。
如果您使用ajax,则必须将您的ajax放置在jQuery验证插件的submitHandler。请参见下面的示例。
"我可以添加没有操作URL的表单标签来验证我的“表单”吗?"
是的,您可以删除或阻止action并仍然使用jQuery Validate。
请参见演示:http://jsfiddle.net/NEPsc/3/submitHandler 中放置你的 ajaxreturn false,就不会发生常规提交。
$(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的评论,如果要使用input type="button"而不是input type="submit",您需要使用click处理程序。没有必要使用任何内联JavaScript。完全删除onClick函数。

请参见更新后的演示: http://jsfiddle.net/NEPsc/5/


8
为了使jQuery验证插件正常工作或完全工作,您绝对需要使用<form></form>标签。当我的HTML在ASP.NET应用程序中提供并全部包裹在一个<form>标签中以使代码后台工作时,这就成为了一个大麻烦。我的嵌入式<form>被剥离并且在jquery有机会查看它之前不在DOM中。 - Neek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接