2014-02-20 3 views
1

Вместо того, чтобы перенаправлять пользователя на новую страницу, я хочу добавить наложение по форме. Так или иначе, следующий код дважды возвращает оверлей.AJAX возвращает данные дважды при отправке

AJAX

$(document).ready(function() 
{ 
    $('#form_informations').submit(function() 
    { 
     $.get('php/formulaires.php', $(this).serialize(), function (data) 
     { 
      $('#form_informations').append('<div id="conf_informations" class="confirm"><p><img src="img/check.png" /><br /><?=FORMULAIRE_SAUVEGARDE;?></p></div>'); 
     }); 
     return false; 
    }); 
}); 

Идентификатор #form_informations используется только один раз.

В настоящее время второе наложение не создано в php/formulaires.php, потому что файл пуст, так как я еще не начал синтаксический анализ данных.

Почему это происходит? Я не вижу, откуда эта вторая оверлейка.

Это HTML форма:

HTML Форма

<form id="form_informations" method="post" enctype="multipart/form-data"> 
    <!-- form here --> 
    <input type="submit" name="submit_general" value="Save" /> 
</form> 
+0

попробовать 'e.preventDefault' в вашем представить обработчик –

+0

@ user2310289 поскольку возвращение ложным используется не существует никакой необходимости в этом –

+0

Упс - вытирает грязь из стекол –

ответ

0

Может быть, вы можете добавить подобный код в функции представить

if(!$("#conf_informations").size()) { 
    $.get... //your get request here 
} 

Окончательное решение

if(!$("#conf_informations").length()) { 
    $.get... //your get request here 
} 
+0

изменяя' '.size' к .length ', Я избегал дублирования div – davewoodhall

Смежные вопросы