04.08.2017, 10:37
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от rdPavel
|
Не знаю насколько это правильно но пока так.
Нужно проверить на всех браузерах.
|
Ты вносишь изменения на стороне сервера, в любом браузере с включенным js 100% будет вызвана функция "getAvtoList".
|
|
04.08.2017, 10:39
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,225
|
|
Сообщение от Nexus
|
Строка 2 - перезаписываешь обработчик события «click» элемента, тут почти все верно. В твоём контексте, я уверен, this будет эквивалентно window (поправьте, если ошибаюсь).
|
Все верно.
|
|
04.08.2017, 10:40
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,225
|
|
Сообщение от Nexus
|
Чтобы навесить несколько обработчиков на 1 событие используй метод «addEventListener».
|
Или в одном делать все, что нужно.
|
|
09.08.2017, 21:42
|
Аспирант
|
|
Регистрация: 02.08.2017
Сообщений: 33
|
|
Nexus,
cp_id_387.onchange=function(e){getAvtoList(e.targe t);};
Функция повешена на cp_id_387.
Настраиваемые поля:
1. cp_id_387
Тип поля - раскрывающийся список;
Значения полей - объекты забиты, через запятую (Марка авто, порядка 271 шт.).
2. cp_id_928
Тип поля - раскрывающийся список;
Значения полей - пуст, объекты забиты в файле cp_avto.php в виде массива (Модель авто, порядка 4309 шт.), активация через getAvtoList
Вроде всё работает, НО при заполнений формы и нажатием "Далее", выходит ошибка "Ошибка: поле "Модель" недопустимо."
Такое ощущение что при отправке оно становится пустым.
Или он почему-то не отправляет данные с cp_id_928.
Браузер не выявил ошибок!
Мне кажется, что созданный селект (cp_id_928) - пустой в списке значений.
Как быть не знаю!
|
|
10.08.2017, 07:43
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от rdPavel
|
Такое ощущение что при отправке оно становится пустым.
Или он почему-то не отправляет данные с cp_id_928.
|
Смотри что на сервер отправляется.
«Панель разработчика», вкладка «Network».
|
|
10.08.2017, 10:27
|
Аспирант
|
|
Регистрация: 02.08.2017
Сообщений: 33
|
|
Nexus,
Добрый день!
Вот эти строки в документе отправки, вроде как данные есть
------WebKitFormBoundaryUHC6anEyShzgEYQk
Content-Disposition: form-data; name="cp_id_387"
Fiat
------WebKitFormBoundaryUHC6anEyShzgEYQk
Content-Disposition: form-data; name="cp_id_928"
a1300
Последний раз редактировалось rdPavel, 10.08.2017 в 10:39.
|
|
10.08.2017, 10:42
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от rdPavel
|
Nexus,
Добрый день!
Вот эти строки в документе отправки, вроде как данные есть
|
Если данные отправляются, значит нужно смотреть как сервер их обрабатывает и проверяет на корректность.
|
|
10.08.2017, 11:05
|
Аспирант
|
|
Регистрация: 02.08.2017
Сообщений: 33
|
|
Nexus,
Еще одна интересная штука!
Попробовал убрать required с cp_id_928, всё вроде поле не обязательно, один хрен пишет "Ошибка: поле "Модель" недопустимо."
Другой момент:
Нажимаю "Далее", поле Марка содержит данные, а поле Модель пустое, пока через Марку не активирую обработчик
Модели не появляются.
Последний раз редактировалось rdPavel, 10.08.2017 в 11:21.
|
|
10.08.2017, 17:08
|
Аспирант
|
|
Регистрация: 02.08.2017
Сообщений: 33
|
|
Как можно заставить что бы сессия сохраняла выбранное значение в cp_id_928, по сути форма не отправляет данные на базу, так как в форме не заполнено поле cp_id_928.
Не пойму что он делает перед отправкой, но он не может достать выбранное значение и поэтому в cp_id_928 вставляет пустое и выдает ошибку.
Вот блин не задача.
Просто моя задача сделать из штатных настраиваемых полей, которые создаются по средствам движка, зависимые поля или связанные поля.
Короче вот и встал я в ступор.
Последний раз редактировалось rdPavel, 10.08.2017 в 17:10.
|
|
10.08.2017, 19:40
|
Аспирант
|
|
Регистрация: 02.08.2017
Сообщений: 33
|
|
Вот что другой браузер пишет после отправки формы:
[Deprecation] Calling Element.createShadowRoot() for an element which already hosts a shadow root is deprecated. See https://www.chromestatus.com/features/4668884095336448 for more details.
|
|
|
|