用提交处理程序进行jQueryvalidation
我使用jQueryvalidation插件的validate方法设置表单validation,我有一个提交处理程序来修改输入元素的值(我使用YUI编辑器,它需要saveHTML()调用将iframe的内容复制到textarea元素。)。 提交表单时,我希望validation程序在执行提交处理程序后validation表单。 但是如果在validation调用之后注册它,则它不会执行我的提交处理程序。
例如,
$(document).ready(function() { $("#form1").submit(function() { $("#txt1").val("123456"); }); $("#form1").validate({ rules: { txt1: { maxlength: 5 } } }); });
表单在我的提交处理程序之后validation,因此提交被取消。
$(document).ready(function() { $("#form1").validate({ rules: { txt1: { maxlength: 5 } } }); $("#form1").submit(function() { $("#txt1").val("123456"); }); });
但是,如果我更改顺序,则在我的提交处理程序之前validation表单。
您可以使用beforeSubmit
回调来设置值:
$(function() { $('#form1').validate({ rules: { txt1: { maxlength: 5 } }, beforeSubmit: function(arr, $form, options) { $('#txt1').val('123456'); return true; } }); });
尝试
$(document).ready(function() { $("#form1").submit(function() { $("#txt1").val("123456"); $("#form1").validate({ rules: { txt1: { maxlength: 5 } } }); }); });
这种方式validation将由您的提交事件处理程序触发。
你必须使用$("form").validate().resetForm();
你可以简单地使用这个:
var validForm = false; SubmittingForm = function () { //Validate Statements... validForm = true; $("#form1").submit(); } $(document).ready(function () { $("#form1").validate({ submitHandler: function (form) { if (validForm) $("#form1").submit(); else SubmittingForm(); }, rules: ... }
- Rails Ajax Render Partial(投票系统)
- 如何使鼠标滚轮滚动到截面,如在mediafire.com
- 在formset中动态创建一个django表单,如django admin中的内联表单和jquery
- 来自数据库的JQuery自动完成
- jQueryvalidation错误返回链接
- 在IE / Chrome中动态更改嵌入式videosrc(适用于Firefox)
- Filereader – 再次上传相同的文件不起作用
- jQuery ajax json响应的长度未定义且数据不正确
- 为什么jQuery的承诺有一个done(),但Mozilla记录的Javascript承诺不是? 如果我想在JS中有一个done()怎么办?