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. Результат тот же. Где я туплю?