у меня обработчик формы собирает все ошибки в массив и этот массив при наличии ошибо выдает сразу все ошибки пользователю..не пойму как на js jquery сделать чтобы выдавалась только первая ошибка из массива. в ajax у меня такая строчка вывода ошибок - Код (Javascript): $('.info-content').text(response.errors); в php сбор массива сделан таким образом - PHP: if(!empty($errors)){ $response = [ 'success' => false, 'errors' => implode(' ', $errors) ]; header('Content-Type: application/json'); echo json_encode($response); exit;
Вынужден повторить, выбросило по time out, не могу исправить Добрый день! Если в errors массив, то так Код (Javascript): $('.info-content').text(response.errors[0]); Причём здесь PHP не понятно. Всё должно быть JS. Если errors cодержит строку с пробелами, то её в JS нужно так преобразовать в массив Код (Javascript): errors.split(' ') Удачи!
если я вот так выбираю Код (Javascript): $('.info-content').text(response.errors[0]) то выводится только первая буква сообщения - выбирает по буквам почему то. я думал может в php обрабтчике сразу оставлять только первое попавшееся сообщение, но чет тоже не получается
Покажите, пожалуйста, что выводит console.log Код (Javascript): console.log(response); Есть ли в коде errors.split('') - без пробела?
я не совсем понял куда ставить errors.split('') в консоли вот так: зачеркнул немного лишнее..) если сделать так, то после каждой буквы запятая идет... Код (Javascript): $('.info-content').text(response.errors.split(''));
спасибо за помощь, я все таки в самом обработчике сделал через array_shift(). вроде все заработало как надо
Это только вроде бы как надо, а на самом деле это надо делать в JS, тест Код (Javascript): <script> response = { 'success':false, 'errors':'Выберите категорию.Сформулируйте более содержатнльное название темы' } alert(response.errors.split(".")[0]); // --> Выберите категорию </script> В Ваше коде д.б. Код (Javascript): $('.info-content').text(response.errors.split(".")[0]); Удачи!
ну да кстати, ваш вариант лучше..у меня получается в валидации лишняя функция отрабатывает. переделал в общем по вашей инструкции..) спасибо еще раз