Отмена отправки формы после проверки базы данных - PullRequest
0 голосов
/ 16 мая 2019

Я хотел бы отправить форму только после проверки, если некоторые входные данные еще не существуют в базе данных.

Я использую beforeSend для проверки, есть ли какие-нибудь фабрики для добавления, если так, я создаю переменную со всеми названиями фабрики, и мой php-скрипт "check_fabric.php" контролирует, если фабрики еще не находятся в базе данных.

Я хотел бы отправить форму , только если название ткани новое.

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

Есть идеи?

...