Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 10.08.2017, 17:08
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

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

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

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

Последний раз редактировалось rdPavel, 10.08.2017 в 17:10.
Ответить с цитированием
  #42 (permalink)  
Старый 10.08.2017, 19:40
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 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.
Ответить с цитированием
  #43 (permalink)  
Старый 11.08.2017, 10:32
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,

Добрый день!
Подскажите, можно ли сделать так чтобы при загрузке страницы активировался обработчик?

В данный момент у меня сейчас вот так:
document.getElementById('cp_id_387').addEventListener("click", function() {
   getAvtoList(this);});
Ответить с цитированием
  #44 (permalink)  
Старый 11.08.2017, 11:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

rdPavel,
var elem=document.getElementById('cp_id_387');
elem.addEventListener("click", function() {
   getAvtoList(this);
});
elem.dispatchEvent(new Event('click'));
Ответить с цитированием
  #45 (permalink)  
Старый 11.08.2017, 11:22
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,

Спасибо!
Это отлично!
Но мне не помогло, думал после нажатия "Далее" 2 поле сохранит значение, а оно не сохранят, открывается первый элемент списка.
Вот не задача блин.
Ответить с цитированием
  #46 (permalink)  
Старый 11.08.2017, 11:28
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

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

Nexus,

Вы можете расшифровать это код:

$options = explode( ',', $field->field_values );
$options = array_map( 'trim', $options );

// check if the posted value is one of the provided by form

if ( array_diff( (array)$field_value, $options ) ) {
$errors->add( 'invalid-' . $field->field_name, sprintf( __( 'Error: The "%s" field is invalid.', APP_TD ), translate( $field->field_label, APP_TD ) ) );
}

Не могу понять, что он с чем сравнивает Имя строки с меткой или расхождение массивов?
Ответить с цитированием
  #48 (permalink)  
Старый 11.08.2017, 12:40
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Сообщение от rdPavel Посмотреть сообщение
Nexus,
Вы можете расшифровать это код
Он не зашифрован)

$options=explode(',',$field->field_values);//Разбивает строку
$options=array_map('trim',$options );//Применяет функцию trim ко всем эл-там массива

// check if the posted value is one of the provided by form - Описание действия

//Проверяет есть ли в первом массиве данные, которых нет в массиве $options
if ( array_diff( (array)$field_value, $options ) ) {
//Добавляет ошибку
$errors->add( 'invalid-' . $field->field_name, sprintf( __( 'Error: The "%s" field is invalid.', APP_TD ), translate( $field->field_label, APP_TD ) ) );
}
Ответить с цитированием
  #49 (permalink)  
Старый 11.08.2017, 12:42
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Спасибо!
Ответить с цитированием
  #50 (permalink)  
Старый 16.08.2017, 11:21
Аспирант
Отправить личное сообщение для rdPavel Посмотреть профиль Найти все сообщения от rdPavel
 
Регистрация: 02.08.2017
Сообщений: 33

Nexus,

Добрый день!
Подскажите пожалуйста...

function CopySelect() {
var value = document.getElementById('cp_id_387').value;
var elements = document.getElementsByName('post_title');
for(var i in elements)
elements[i].value = value; }


Код копирует данные Select "cp_id_387" в Input "post_title"

Дело в том что есть еще один Select "cp_id_928" как можно реализовать последовательно копирования

Т.е. в Input "post_title" копируется "cp_id_387" через пробел "cp_id_928"

По сути картинка такая:
Марка авто: Тойота
Модель авто: Найс

Input "post_title" = Тойота Найс

Вообще возможно ли это реализовать?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить проблему! Очень прошу помочь! 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