2013-03-25 47 views
3

工作在jQuery中我使用的是引導形式$就法jqBootstrapValidation插件,但校驗是不工作的權利。我使用驗證未與jqBootstrapValidation和Ajax

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

preventDefault從工作停止驗證,但我不想這樣,我使用event.preventDefault();實際提交的值。有任何想法嗎?

+0

究竟是什麼驗證你在說什麼? jQuery有沒有驗證方法,並有100萬個jQuery的表單驗證插件在那裏。 – Sparky 2013-03-25 16:12:32

+0

我的插件網站談論jqBootstrapValidation http://reactiveraven.github.com/jqBootstrapValidation/ – 2013-03-26 06:25:45

回答

9

你只需把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/

+1

是不是至少對我來說很清楚... $(「...」)不利於太多:S ... – ncubica 2013-06-12 19:13:39

1

你必須這樣做如下:

$(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(); 
     } 
    }); });