经过parsley.js验证后的Ajax提交

Ale*_*lex 4 javascript ajax jquery parsley.js

我有一个通过ajax提交的表单。工作正常。但是,我正在尝试找出仅当欧芹成功验证表格后才提交的方法。

问题是即使欧芹显示问题,表单仍会提交。我该如何考虑?

<script>
  $(document).ready(function(){
  $('#newsletterSubscribe').on('submit',function(e) {

  $.ajax({
    url:'scripts/newsletter.php',
    data:$(this).serialize(),
    type:'POST',
    success:function(data){
    console.log(data);
    $("#success").show().fadeOut(20000); //=== Show Success Message==
    },
    error:function(data){
    $("#error").show().fadeOut(20000); //===Show Error Message====
    }
  }); 
  e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
  });
  });
</script> 
Run Code Online (Sandbox Code Playgroud)

Yaz*_*man 5

您需要添加Parsley验证条件,如下所示:

<script>
  $(document).ready(function(){
  $('#newsletterSubscribe').on('submit',function(e) {
  e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
  if ( $(this).parsley().isValid() ) {
     $.ajax({
       url:'scripts/newsletter.php',
       data:$(this).serialize(),
       type:'POST',
       success:function(data){
       console.log(data);
         $("#success").show().fadeOut(20000); //=== Show Success Message==
       },
       error:function(data){
         $("#error").show().fadeOut(20000); //===Show Error Message====
       }
     }); 
   }
  });
  });
</script> 
Run Code Online (Sandbox Code Playgroud)

另请注意,将“防止默认行为”设置为该过程的第一步。