Показать сообщение отдельно
  #10 (permalink)  
Старый 09.10.2017, 21:19
Новичок на форуме
Отправить личное сообщение для KateU Посмотреть профиль Найти все сообщения от KateU
 
Регистрация: 09.10.2017
Сообщений: 8

laimas,
Спасибо.
Сделала, как вы пишете, но обработка все равно до конца не срабатывает. Сообщение отправляется, страница не перезагружается, но сообщение об отправке не выводится.
Чего-то даже alert работать перестал...

Делаю сейчас так (на отправке через ajax без файлов работает):
В файле отправки php в конце:
if (mail($mailto, $subject, $multipart, $headers)) {
        $message_ok = array("ok" => 1, "success_text" => "y");
        print json_encode($message_ok);
    } else {
        $err = array("ok" => 2, "error_text" => "n");
        print json_encode($err);
}

В js:
$('#calcprojectform1').on('submit', function (e) {
            e.preventDefault(); //отменяем действие по умолчанию - отправление формы
            //и отправляем ее посредством Ajax, используя при этом jQuery  
            $.ajax({
                url: this.action, //url запроса можно брать из формы, таким образом можно использовать этот обработчик для многих форм
                type: this.method, //метод запроса также берем из формы
                contentType: false, //обязательно
                processData: false, //обязательно
                data: new FormData(this), //получаем данные формы
                dataType: 'json',
                success: function (data) {
                    if (data.ok == '1') {
                        $("#calcprojectform1").reset();
                        $("#calcprojectform1").replaceWith('<div style="padding:15px;background:#fff; font-size:14px;font-family:MuseoSansCyrl_700; color:green;">Спасибо, ваша заявка успешно отправлена.</div>');
                    }
                    if (data.ok == '2') {
                        $('#calc-project-submit1').validationEngine('showPrompt', 'Ошибка отправки данных. Попробуйте позже.');
                    }
                    alert(data);
                    alert(data.ok);
                }
            });
        });


В чем еще может быть дело? Пробовала передавать и число, и boolean. Результат тот же. Где я туплю?
Ответить с цитированием