Делегирование события ajaxForm - PullRequest
0 голосов
/ 25 июня 2018

У меня есть форма, и я использую ajaxForm для обработки отправки, проблема в том, что я не могу отправить форму дважды после первого успеха (это уже работает), так как он потерял обработчик события.Я попытался с делегированием событий, но я снова получаю поведение браузера по умолчанию, не передавая хотя ajaxForm, я отлаживал с предупреждением (''), и он каждый раз запускает обработчик отправки.Я учусь, поэтому любая помощь, объяснить было бы очень полезно

Jquery

$(document).on('submit', "#form",function() {
$(this).ajaxForm( {
    target: '#preview',
    success: function() {
        $('.box-search').slideUp('slow');
        $('#form').trigger("reset");
      }
   });
});

это может быть предотвращение по умолчанию?

HTML FORM

         <div class="box-search">
            <form action="assets/php/insert-comment.php" method="POST" id="form">
                <div class="container search-box">
                    <div class="row">
                        <div class="input-field col l12 s8 center offset-s2">
                            <input type="text" name="book_name" id="books" autocomplete="off" required/>
                             <label for="books">Busca un Libro...</label>
                            <div class="result"></div>
                        </div>
                        <div class="input-field col s12 no-display">
                            <textarea name="comment_name" id="textarea" class="materialize-textarea" maxlength="250" data-length="250"></textarea>
                            <label for="textarea">Comentario...</label>
                            <input type="submit" >
                        </div>
                    </div>
                </div>
           </form>
        </div>
        <div class="padding" id="preview"></div>

PHP FILE insert-comment.php

   <?php
    include("conectar.php");
    $link = Conectarse();
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
      $book=mysql_real_escape_string($_POST['book_name']);
      $comment=mysql_real_escape_string($_POST['comment_name']);
      if(strlen($book)>0 && strlen($comment)>0)
      {
      mysql_query("INSERT INTO comments (name_Book,comment) 
      VALUES('$book','$comment')", $link);
      echo "<h3>Tu comentario se registr&oacute; con &eacute;xito. ¡Muchas 
      Gracias! 
      </h3>";
      }
    }
    ?>
...