提交之前的检查表使用Ajax Django

问题描述:

我使用Ajax将数据从表单发送到服务器。但我想检查表单数据阿贾克斯之前提交:提交之前的检查表使用Ajax Django

<form id='#id_form' onsubmit='return checkInputSubmit();' > 
... 
</form> 

在阿贾克斯:

$('#id_form').submit(function(e) { 
     e.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: url, 
      dataType: 'json', 
      data: $('#id_form').serialize(), // serializes the form's elements. 
      success: function(data) { 
       if(data.result == true) { 
        //My code 
       } 
       else { 
        //My code 
       } 
      } 
     }); 
    }); 

但checkInputSubmit()不能防止从阿贾克斯提交。您可以为我解释并给我解决方案,以便在Ajax提交之前检查表单中的数据。 谢谢。

+2

您可以改为在'submit'处理程序中进行检查。 – 2017-12-18 03:33:56

@Blurp,我找到了解决方案,使用你的帮助。

$('#id_form').validate({ 
    submitHandler: function(form) { 
     e.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: url, 
      dataType: 'json', 
      data: $('#id_form').serialize(), // serializes the form's elements. 
      success: function(data) { 
       if(data.result == true) { 
        //My code 
       } 
       else { 
        //My code 
       } 
      } 
     }); 
    } 
}); 

$('#id_form').submit(function(e)事件中,您可以在调用Ajax之前检查/编辑/返回...任何你想要的东西。在Ajax中,我认为它不会工作,并且不好。 (我们只是检查ajax的结果,而不是输入)