【问题标题】:Validation is not working with jqBootstrapValidation and ajax验证不适用于 jqBootstrapValidation 和 ajax
【发布时间】:2013-03-25 14:35:23
【问题描述】:

在 jQuery 中,我在引导表单上使用带有 jqBootstrapValidation 插件的 $.ajax 方法,但验证无法正常工作。我正在使用

$('#updatenamebutton').click(function(event)
{
   event.preventDefault();
}

preventDefault 正在停止验证工作,但我不想实际提交值,所以我使用event.preventDefault();。有什么想法吗?

【问题讨论】:

标签: jquery twitter-bootstrap validation


【解决方案1】:

你只需要将ajax函数放入jqBootstrapValidation submitSuccess回调中即可。

您不需要在表单上绑定“提交”或“点击”之类的触发器,因为 jqBootstrapValidation 将处理提交事件。

以下代码一目了然:

$(function() {

  $('form[name="contact"]').find('input,select,textarea').not('[type=submit]').jqBootstrapValidation({

    submitSuccess: function ($form, event) {

      $.ajax({
        type: 'POST',
        url: $form.attr('action'),
        data: $form.serialize(),
        success: function(data)
        { 
          // just to confirm ajax submission
          console.log('submitted successfully!');
        }
      });

      // will not trigger the default submission in favor of the ajax function
      event.preventDefault();
    }

  });

});

有关插件的更多详细信息: http://reactiveraven.github.io/jqBootstrapValidation/

【讨论】:

  • 插件站点中的至少对我来说不是很清楚... $("...") 没有多大帮助:S ...
【解决方案2】:

您必须执行以下操作:

$(function () { $("input,select,textarea").not("[type=submit]").jqBootstrapValidation({

    preventSubmit: false,
     submitSuccess: function (form, event) {
         event.preventDefault();
         dosubmit(form);
     },
     submitError: function (form, event, errors) {
         event.preventDefault();
         }
    }); } );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多