Отправка формы (ajax) не работает с отправкой (только с кликом), но во втором варианте не проверяет поля - PullRequest
0 голосов
/ 31 января 2019

У меня есть классическое представление формы с ajax, но оно работает только с $ ("button"). Click (function () и поэтому не проверяет файлы должным образом.

<script type="text/javascript">
$(document).ready(function(){
    $( ".response" ).hide();
});
$(document).ready(function(){
   $(".gumb").click(function(){
   event.preventDefault();

        var formData = $('#my_form').serialize();
         var pogoji = $("#pogoji").val();
        var email = $("#email").val();
        var dataString = 'pogoji='+ pogoji + '&email=' + email;

        $.ajax({
            url:"action_page.php", 
            type: "POST",
            data: dataString, 
            success:function(result){

               $( ".response" ).show();
               $( "#obrazec" ).hide();
            $( ".prijavatext" ).hide();
            }
        });
    });
});
</script>

<html>
      <form name="Form" id="obrazec">

  <input id="email" type="email" name="email" placeholder="E-poštni naslov" required />
            <br>
      <input id="pogoji" type="checkbox" name="pogoji" value="Pogoji" required /> <label style="">Strinjam se s pogoji</label>
        <br>
 <button class="gumb" form="obrazec" type="submit" onclick>Potrdi</button>


</form> 
</html>

Я знаю, что должноработа с submit: $ ("кнопка"). submit (function (); почему это не работает? Или, если щелчок в порядке, как заставить форму проверять поля?

1 Ответ

0 голосов
/ 31 января 2019

$(document).ready(function(){
    $( ".response" ).hide();
});
$(document).ready(function(){
    $("#obrazec").submit(function(event){
        
        event.preventDefault();
        alert('submitted with html validation working');
        var formData = $('#my_form').serialize();
        var pogoji = $("#pogoji").val();
        var email = $("#email").val();
        var dataString = 'pogoji='+ pogoji + '&email=' + email;

        /*$.ajax({
            url:"action_page.php", 
            type: "POST",
            data: dataString, 
            success:function(result){

                $( ".response" ).show();
                $( "#obrazec" ).hide();
                $( ".prijavatext" ).hide();
            }
        });*/
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<form name="Form" id="obrazec">

    <input id="email" type="email" name="email" placeholder="E-poštni naslov" required />
    <br>
    <input id="pogoji" type="checkbox" name="pogoji" value="Pogoji" required /> <label style="">Strinjam se s pogoji</label>
    <br>
    <input class="gumb" form="obrazec" type="submit" value="Potrdi">

</form> 
</html>

Используйте метод отправки Jquery и передайте событие в функцию отправки для предотвращения form submit event.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...