У меня есть форма, и я использую 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ó con éxito. ¡Muchas
Gracias!
</h3>";
}
}
?>