Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 04.08.2017, 10:35
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,728

rdPavel, потому что у тебя там бред написан.
cp_id_387.onclick = function() { onchange="getAvtoList(this)"; };
cp_id_387.onclick = function() { getAvtoList(this); };
cp_id_387.onclick = function() { getAvtoList; };

Строка 1 - Навешиваешь обработчик на событие «click», обработчик перезаписывает значение свойство «onchange» глобального объекта «window» (а было ли свойство вообще объявлено?).
Строка 2 - перезаписываешь обработчик события «click» элемента, тут почти все верно. В твоём контексте, я уверен, this будет эквивалентно window (поправьте, если ошибаюсь).
Строка 3 - еще раз перезаписываешь обработчик события «click» элемента. Сам обработчик - чушь. Даже не знаю как это прокомментировать...

Чтобы навесить несколько обработчиков на 1 событие используй метод «addEventListener».
В первой строке ты попытался (вероятно) повесить обработчик на событие «change», должно было получиться так:
cp_id_387.onchange=function(e){getAvtoList(e.target);};//Или с addEventListener

Во второй строке, чтобы передать функции «getAvtoList» сущность, в отношении которой было произведено событие, нужно было получить событие и обратиться к его свойству «target», т.е. примерно так:
cp_id_387.onclick=function(e){getAvtoList(e.target);};
Ответить с цитированием
  #32 (permalink)  
Старый 04.08.2017, 10:37
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,728

Сообщение от rdPavel
Не знаю насколько это правильно но пока так.
Нужно проверить на всех браузерах.
Ты вносишь изменения на стороне сервера, в любом браузере с включенным js 100% будет вызвана функция "getAvtoList".
Ответить с цитированием
  #33 (permalink)  
Старый 04.08.2017, 10:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Nexus
Строка 2 - перезаписываешь обработчик события «click» элемента, тут почти все верно. В твоём контексте, я уверен, this будет эквивалентно window (поправьте, если ошибаюсь).
Все верно.
Ответить с цитированием
  #34 (permalink)  
Старый 04.08.2017, 10:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Nexus
Чтобы навесить несколько обработчиков на 1 событие используй метод «addEventListener».
Или в одном делать все, что нужно.
Ответить с цитированием
  #35 (permalink)  
Старый 04.08.2017, 13:19
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от rdPavel
Да нет, это перевод.
А зачем нам твой кривой перевод не передающий сути ошибки?
Ответить с цитированием
  #36 (permalink)  
Старый 09.08.2017, 21:42
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 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) - пустой в списке значений.
Как быть не знаю!
Ответить с цитированием
  #37 (permalink)  
Старый 10.08.2017, 07:43
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,728

Сообщение от rdPavel
Такое ощущение что при отправке оно становится пустым.
Или он почему-то не отправляет данные с cp_id_928.
Смотри что на сервер отправляется.
«Панель разработчика», вкладка «Network».
Ответить с цитированием
  #38 (permalink)  
Старый 10.08.2017, 10:27
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 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.
Ответить с цитированием
  #39 (permalink)  
Старый 10.08.2017, 10:42
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,728

Сообщение от rdPavel Посмотреть сообщение
Nexus,

Добрый день!

Вот эти строки в документе отправки, вроде как данные есть
Если данные отправляются, значит нужно смотреть как сервер их обрабатывает и проверяет на корректность.
Ответить с цитированием
  #40 (permalink)  
Старый 10.08.2017, 11:05
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,

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

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

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

Последний раз редактировалось rdPavel, 10.08.2017 в 11:21.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему! Очень прошу помочь! sizdim Элементы интерфейса 2 06.04.2015 07:59
Помогите решить проблему со скроллом Jigan2 jQuery 0 20.03.2015 10:42
Помогите решить проблему Ingiborn Общие вопросы Javascript 0 10.07.2014 13:12
History API. Помогите решить проблему InviS Events/DOM/Window 2 16.10.2011 14:34
Помогите решить проблему felixfix Общие вопросы Javascript 4 21.04.2011 12:00