Как в JS работать с формой в modal окне?

Есть модальное окно Bootstrap

    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
            <!-- load content here -->
        </div>
    </div>
</div>

В это окно, при помощи $get подгружается форма

<form id="userEditModal" name="stepForm" class="form" method="POST" >
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="close">
        <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title">{{ title }}</h4>
</div>
<div class="modal-body">

    {{ form.hidden_tag() }}
    {{ form_field(form.email) }}

</div>

<div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Отмена</button>

    <button id="submit" type="submit" class="btn btn-danger">submit</button>
</div>

При отправке формы, backend проверяет её, если все в порядке - возвращает json 'ok'. Собственно сам JS.

$(document).ready(function() {
    $('.edit-modal-opener').click(function() {
        var target_link = $(this).data('whatever')
        var modal = $('#myModal'), modalBody = $('#myModal .modal-content');
        $.get(target_link, function(data) {
            modalBody.html(data);
            modal.modal();

            $('#submit').click(function(event) {
                event.preventDefault();
                $.post(target_link, data=$('#userEditModal').serialize(), function(data) {
                    if (data.status == 'ok') {
                        $('#myModal').modal('hide');
                        location.reload();
                    }
                    else {
                        $('#myModal .modal-content').html(data);
                         }
                });
            })
        });
    });
})

Проблема в том, что если мы попадаем на ошибку валидации формы, а именно в условие else - та часть, которая отвечает за $post больше не отрабатывает, и при submit форма уходит не в target_link, а на текущую страницу. Подскажите, как выйти из else назад, что-бы js ожидал $('#submit').click(function(event).


Ответы (0 шт):