Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите решить проблему! (https://javascript.ru/forum/dom-window/69995-pomogite-reshit-problemu.html)

Nexus 04.08.2017 10:37

Цитата:

Сообщение от rdPavel
Не знаю насколько это правильно но пока так.
Нужно проверить на всех браузерах.

Ты вносишь изменения на стороне сервера, в любом браузере с включенным js 100% будет вызвана функция "getAvtoList".

ksa 04.08.2017 10:39

Цитата:

Сообщение от Nexus
Строка 2 - перезаписываешь обработчик события «click» элемента, тут почти все верно. В твоём контексте, я уверен, this будет эквивалентно window (поправьте, если ошибаюсь).

Все верно. :yes:

ksa 04.08.2017 10:40

Цитата:

Сообщение от Nexus
Чтобы навесить несколько обработчиков на 1 событие используй метод «addEventListener».

Или в одном делать все, что нужно. :)

rdPavel 09.08.2017 21:42

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) - пустой в списке значений.
Как быть не знаю!

Nexus 10.08.2017 07:43

Цитата:

Сообщение от rdPavel
Такое ощущение что при отправке оно становится пустым.
Или он почему-то не отправляет данные с cp_id_928.

Смотри что на сервер отправляется.
«Панель разработчика», вкладка «Network».

rdPavel 10.08.2017 10:27

Nexus,

Добрый день!

Вот эти строки в документе отправки, вроде как данные есть

------WebKitFormBoundaryUHC6anEyShzgEYQk
Content-Disposition: form-data; name="cp_id_387"

Fiat

------WebKitFormBoundaryUHC6anEyShzgEYQk
Content-Disposition: form-data; name="cp_id_928"

a1300

Nexus 10.08.2017 10:42

Цитата:

Сообщение от rdPavel (Сообщение 461190)
Nexus,

Добрый день!

Вот эти строки в документе отправки, вроде как данные есть

Если данные отправляются, значит нужно смотреть как сервер их обрабатывает и проверяет на корректность.

rdPavel 10.08.2017 11:05

Nexus,

Еще одна интересная штука!
Попробовал убрать required с cp_id_928, всё вроде поле не обязательно, один хрен пишет "Ошибка: поле "Модель" недопустимо."

Другой момент:

Нажимаю "Далее", поле Марка содержит данные, а поле Модель пустое, пока через Марку не активирую обработчик
Модели не появляются.

rdPavel 10.08.2017 17:08

Как можно заставить что бы сессия сохраняла выбранное значение в cp_id_928, по сути форма не отправляет данные на базу, так как в форме не заполнено поле cp_id_928.
Не пойму что он делает перед отправкой, но он не может достать выбранное значение и поэтому в cp_id_928 вставляет пустое и выдает ошибку.

Вот блин не задача.

Просто моя задача сделать из штатных настраиваемых полей, которые создаются по средствам движка, зависимые поля или связанные поля.
Короче вот и встал я в ступор.

rdPavel 10.08.2017 19:40

Вот что другой браузер пишет после отправки формы:

[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.


Часовой пояс GMT +3, время: 05:45.