ajaxForm事件委托

时间:2018-06-25 17:55:57

标签: jquery ajaxform event-delegation

我有一个表单,我使用ajaxForm来处理提交,问题是第一次成功后,我无法提交两次表单(这已经起作用了),因为它丢失了事件处理程序。我尝试使用事件委托,但是我得到的仍然是默认的浏览器行为,没有通过ajaxForm传递,我使用alert('')进行调试,并且每次触发提交处理程序。我正在学习,所以任何帮助,解释都将非常有帮助

jQuery

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

可以防止默认设置吗?

HTML表单

         <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文件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>";
      }
    }
    ?>

0 个答案:

没有答案