Показать сообщение отдельно
  #1 (permalink)  
Старый 16.09.2015, 06:07
Новичок на форуме
Отправить личное сообщение для AlphaSpec Посмотреть профиль Найти все сообщения от AlphaSpec
 
Регистрация: 16.09.2015
Сообщений: 3

Скрипт срабатывает два раза
Bootstrap, форма, валидация плагином formvalidation.io, отправка с помощью ajax. При нажатии на кнопку в функцию обработки кнопки почему-то заходит два раза, соответственно файл скрипта отправки на почту send.php также вызывается 2 раза, приходит два письма. В чем проблема? Прошу помочь советом, с js столкнулся первый раз. Первая функция - валидация полей формы, убирая ее - приходит одно письмо... Заранее спасибо...
<form id="defaultForm">
        <!-- Поля формы -->
        <div class="form-group">                    
               <button type="submit" class="btn btn-primary">Отправить</button>
        </div>
    <div id="alertContainer" class="alert" style="display: none;"></div>
</form>

$(document).ready(function() {
 
        $('#defaultForm')
        .bootstrapValidator({
            message: 'Ввод некорректен',
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                //Список полей с правилами заполнения
            }
        });
        
    });
 
    $(function(){
        $('#defaultForm')
        .submit(function(e){        
            e.preventDefault();
            var formValidation = $('#defaultForm').data('bootstrapValidator');
            if (formValidation.isValid()) {
                var form_data=$(this).serialize();
                $.ajax({
                    type: "POST", 
                    url: "send.php", 
                    data: form_data,
                    success: function() {
                        $('#alertContainer')
                            .removeClass('alert-warning')
                            .addClass('alert-success')
                            .html('Ваше сообщение было успешно отправлено')
                            .show();
                    }
                });                 
            }
            else {
                formValidation.validate();
            }           
        });
    });
Ответить с цитированием