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

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.

rdPavel 11.08.2017 10:32

Nexus,

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

В данный момент у меня сейчас вот так:
document.getElementById('cp_id_387').addEventListener("click", function() {
   getAvtoList(this);});

Nexus 11.08.2017 11:04

rdPavel,
var elem=document.getElementById('cp_id_387');
elem.addEventListener("click", function() {
   getAvtoList(this);
});
elem.dispatchEvent(new Event('click'));

rdPavel 11.08.2017 11:22

Nexus,

Спасибо!
Это отлично!
Но мне не помогло, думал после нажатия "Далее" 2 поле сохранит значение, а оно не сохранят, открывается первый элемент списка.
Вот не задача блин.

rdPavel 11.08.2017 11:28

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

rdPavel 11.08.2017 12:22

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 ) ) );
}

Не могу понять, что он с чем сравнивает Имя строки с меткой или расхождение массивов?

Nexus 11.08.2017 12:40

Цитата:

Сообщение от rdPavel (Сообщение 461346)
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 ) ) );
}

rdPavel 11.08.2017 12:42

Спасибо!

rdPavel 16.08.2017 11:21

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" = Тойота Найс

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


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