проверка формы через javascript - предупреждение об ошибке приходит, но данные сохраняются - PullRequest
1 голос
/ 18 апреля 2020

здесь я сравниваю название местоположения, независимо от того, введено оно уже или нет. В моем коде я получаю уведомление, когда я нажимаю кнопку отправки, но также и данные отправлены. Функция onchange работает не так, как я ожидал, кто-нибудь может мне помочь, как остановить отправку данных, когда я получаю оповещение?
Когда нужно отправить проверку времени, почему, потому что на нашем тестовом сервере мы получаем некоторую задержку после нажатия кнопки, поэтому только данные, отправленные после предупреждения также. у тебя есть идеи по этому поводу? Заранее спасибо

 <form class="form-inline" id="desgForm" accept-charset="UTF-8" method="post" action="../locationSubmit.htm" enctype="multipart/form-data">

<input type="text" id="locationName" autocomplete="off"  name="locationName"  class="form-control validate[required]" onchange="desgCheck();" onkeyup="firstToUpperCase1();" value="">

<button type="submit" class="btn btn-primary" >Save</button>

</form>

Javascript:

<script>
function desgCheck()
            {
                var locationName = document.getElementById('locationName').value;


                $.ajax({
                    type: "POST",
                    url: "../designation/locationName.htm",
                    data: {
                        locationName: locationName
                    },
                    dataType: "text",
                    success: function (data)
                    {
                        if ($.trim(data) !== 'Data  available')
                        {
                            alert("This Location already exist!!");
                            document.getElementById("locationName").value = "";


                            return false;
                        }

                    },
                    error: function (error) {
                        document.getElementById("locationName").value = "";
                    }
                });

            }


            function firstToUpperCase1() {
                var str = document.getElementById("locationName").value;
                var a = str.toUpperCase();
                $("#locationName").val(a);
            }

            jQuery("#desgForm").validationEngine();
</script>
...