@del993788

Что делать, если я не знаю какой будет «IF»?

Здравствуйте. Есть форма обратной связи без перезагрузки, и я попытался расписать все возможные исходы "if"
if(msg == 'ok') {
$('#result_output').text('Заявка успешно отправленна');
}
if(msg == 'notnumber') {
$('#result_output').text('Ошибка. Вы не указали мобильный телефон');
}
if(msg == 'errornumber') {
 $('#result_output').text('Ошибка. Вы не верно указали мобильный телефон');
}
if(msg == 'errormail') {
$('#result_output').text('Ошибка. Вы неверно указали электронный адрес');
}
if(msg == 'notmail') {
$('#result_output').text('Ошибка. Вы не указали электронный адрес');
}
if(msg == 'notnumbernotmail') {
$('#result_output').text('Ошибка. Вы не указали контактные данные.');
}


Но вот сейчас столкнулся с проблемой, что если ошибка на уровне PHP, то придёт не notnumbernotmail, а именно та php ошибка. Например "mail(): Multiple or malformed newlines found in additional_header" . Естественно js понятия не имеет, что делать с этой информацией. Подскажите, как обработать её. Куда нужно написать else?
  • Вопрос задан
  • 261 просмотр
Решения вопроса 2
Stalker_RED
@Stalker_RED
Если нужно подставлять текст ошибки на клиенте, можно сделать так:
var errText = '';
switch(msg) {
  case 'ok':
    errText = 'Заявка успешно отправленна';
    break;
  case 'notnumber':
    errText = 'Ошибка. Вы не указали мобильный телефон';
    break;
  case 'errornumber':
    errText = 'Ошибка. Вы не верно указали мобильный телефон';
    break;
  default:
    errText = 'Неизвестная ошибка'
}
$('#result_output').text(errText);


если ошибка на уровне PHP

На сервере прикрутите свой обработчик ошибок (set_error_handler()) и показывайте красивые заглушки c ошибкой 500.
Ответ написан
Комментировать
Punkie
@Punkie
if(msg == 'ok') {
$('#result_output').text('Заявка успешно отправленна');
}
else if(msg == 'notnumber') {
$('#result_output').text('Ошибка. Вы не указали мобильный телефон');
}
else if(msg == 'errornumber') {
 $('#result_output').text('Ошибка. Вы не верно указали мобильный телефон');
}
else if(msg == 'errormail') {
$('#result_output').text('Ошибка. Вы неверно указали электронный адрес');
}
else if(msg == 'notmail') {
$('#result_output').text('Ошибка. Вы не указали электронный адрес');
}
else if(msg == 'notnumbernotmail') {
$('#result_output').text('Ошибка. Вы не указали контактные данные.');
}
else {
	$('#result_output').text('Неизвестная ошибка');
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
riot26
@riot26
<:З )~~
Это ужасный быдлокод. Всё нужно переписывать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы