提交前检查表单使用Ajax Django

时间:2017-12-18 03:29:59

标签: ajax onsubmit

我使用Ajax将数据从表单发送到服务器。但我想在Ajax提交之前检查表单中的数据:

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

在Ajax中:

$('#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提交。您可以为我解释并给我解决方案,在Ajax提交之前检查表单中的数据。 感谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

@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
                }
            }
        });
    }
 });