检查数据库后取消表单提交

时间:2019-05-16 13:20:34

标签: php jquery ajax forms validation

我仅在检查某些输入是否不存在于数据库中之后才提交表单。

我使用beforeSend来检查是否要添加一些结构,如果有的话,我创建一个具有所有结构名称的变量,并且我的php脚本“ check_fabric.php”控制结构是否在数据库中。 / p>

仅当面料名称是新的时,我才想提交表单。

$("#addorder").validate({
    submitHandler: function(form, event) {
        event.preventDefault();

        var form = $("#addorder");
        var id_customer = $("#id_customer").val();

        $.ajax({

                    type: 'POST',
                    dataType: 'html',
                    url: "process.php",
                    data: form.serialize()+"&id_customer="+id_customer,
                    beforeSend: function(xhr) {

                        $("#submit-btn").removeClass("effet add").addClass("sending").val('Adding....').attr('disabled',true);


                        var nbfabric = $("#nbfabric").val();
                        if(nbfabric>0)  {

                            var arrayFabric = new Array();

                            for (var i=0;i<nbfabric;i++) {

                                arrayFabric.push($('input[name="fabric_'+i+'"]').val());
                            }
                            var jsonString = JSON.stringify(arrayFabric);

                            $.ajax({
                                type: "post",
                                url: "check_fabric.php",
                                data: {data : jsonString},
                                success: function (data) {

                                    if (data === "ok") {
                                        form.submit();
                                    } else {
                                        alert(data);//data lists all the fabrics name already existing in the database
                                        $("#submit-btn").removeClass("sending").addClass("effet ajout").val('Ajouter').attr('disabled',false);
                                        event.preventDefault();
                                        return false;
                                    }
                                }
                            });
                        }


                    },

                    success: function(data) {
                        form.fadeOut("normal", function(){
                            $("#return_message").html(data).fadeIn();
                        });
                    },
                    }
                });
      }
});

有什么想法吗?

0 个答案:

没有答案