После проверки каждого результата google и stackoverflow для этого я решил обратиться за помощью.Форма AJAX отправляет внутри twitter bootstrap modal (Symfony2)
Я создаю приложение Symfony2. В каждом представлении моего приложения я включаю в себя твитерский модульный стиль, с формой, которая отправляет письмо с предложением/вопросом. Итак, из моего базового шаблона ветви, я включаю этот скрытый модальный.
Модальное показ/увольнение работает просто отлично. Модаль содержит мою форму, по желанию.
То, что я пытаюсь получить отсюда: AJAX отправить форму, отправить почту в контроллер, ответить на представление. С этим ответом будет json и функция успеха, чтобы изменить html модального на «* off_button *» + «Отправлено по электронной почте» ИЛИ «Возникла проблема».
Кажется довольно простым. Ну, после того, как большинство решений было найдено, я не могу предотвратить отправку формы. Поэтому я решил сделать это действительно просто.
Здесь код модальный:
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Send your suggestion</h3>
</div>
<div class="modal-body">
{% if is_granted('ROLE_USER') %}<p>We will reply to {{ app.user.mail }}</p>
{% else%}<p>Don't forget to include a reply-to email in your suggestion.</p>
{% endif %}
<form action="{{ path("mgfbc_arrt") }}" method="post" id="arrt">
<div class="control-group">
<label for="username">Text:</label>
<div class="controls">
<textarea id="mail" name="mail" rows="4" style="width:500px;"></textarea>
</div>
</div>
<div class="modal-footer">
<input type="submit" id="butt" class="btn btn-success" value="Send">
</div>
</form>
</div>
Причем, JS:
<script type="text/javascript">
$("#butt").on('click', function(e) {
e.preventDefault();
});
</script>
Перепробовав все, я достиг точки, в которой ЭТА Javascript не мешает форма от отправки.
Что я делаю неправильно?
Заранее спасибо.
Попробуйте дать предупреждение внутри сценария и увидеть, если это срабатывает по щелчку. Если он не срабатывает, вам необходимо привязать это событие click к событию модальности. '$ ('# myModal'). on ('показано', function() {' [Source] (http://twitter.github.io/bootstrap/javascript.html#modals) – anpsmn