Страница 1 из 2

Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 19 сен 2021, 18:36
alcompstudio
Добрый день, ув. Коллеги!

Есть в форме 2 простых поля ввода - Юридический адрес и Фактический адрес. А также поле с выпадающим списком глобальным (для условия) - Факт. адрес = Юр. адрес . По условию на значение в этом поле "Да" (ИД значения в Глобальном списке - 3872), хочу чтобы в форме введенное значене в поле Юридический адрес скопировалось в поле ввода Фактический адрес. Не получается сделать, что-то не предусмотрел вероятно в коде... Ниже скрин формы с отладкой

http://joxi.ru/krDWGDDHgxnKgA

Настройки такие http://joxi.ru/4AkDaeeH0l4oJr
Глобальный список: http://joxi.ru/KAgDdGGHN7qE8r

Можете ли подсказать, что не учел в коде?

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 19 сен 2021, 18:40
alcompstudio
http://joxi.ru/Vm6El77SRbnjNr -пользовался этим примером в Документации

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 19 сен 2021, 19:16
alcompstudio
Еще такой код пробовал...

Код: Выделить всё

$adress_check = [4358]; //Глобальный список
$value = [1015]; // Юридический адрес
$real_adress = [1016]; // Фактический адрес
	if($adress_check == '3872')
    {
		echo '<script>$("#fields_1016").val(' . $value . ')</script>';
    }
//return false;
Тоже не работает... Еще момент оба поля подвязаны к модулю Дадата, но вроде это не должно мешать скрипту...

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 01:12
Develop-Soft
Ну, у вас 2 явных ошибки, а какие могут быть неявные - отсюда не видно...

Так не проще?

Код: Выделить всё

$value = [1015]; // Юридический адрес
$real_adress = [1016]; // Фактический адрес
echo   
'<script>function copy_address() { $("#fields_1016").val("'.$value.'"); } </script>'.
'<button onclick="copy_address()" class="btn btn-default" type="button"><i class="fa fa-arrow-down"></i> Копировать</button>';
//return false;
Изображение

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 07:55
nruslan2
какие две явные ошибки по вашему?

так как код рабочий и на тестовой базе спокойно отрабатывает! тока лишния переменная есть (так же как и в вашем!)
но вот почему у автора он не работает без понятия!

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 08:07
Develop-Soft
nruslan2 писал(а): 20 сен 2021, 07:55 тока лишния переменная есть (так же как и в вашем!)
Оставил ее как есть, не знаю зачем она ТС-у...
nruslan2 писал(а): 20 сен 2021, 07:55 какие две явные ошибки по вашему?
alcompstudio писал(а): 19 сен 2021, 19:16 if($adress_check == '3872')
Насколько я понимаю, требуется сравнение с числом а указан текст. Хотя и не проверял, хавает ли php такую подачу. (в других языках '3872' не равно 3872)
alcompstudio писал(а): 19 сен 2021, 19:16 echo '<script>$("#fields_1016").val(' . $value . ')</script>';
Нет дополнительного обрамления внутри val, и туда попадет (текст) вместо ("текст").

Из неявных: я не знаю, как реализовано подключение дадаты, если jquery-плагином, который они рекомендуют, то возможно он конфликтует внутренним аяксом.

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 08:54
nruslan2
php точно ест такое
у php есть == и === (вот последнее как раз видит разницу)

а про value в ковычках хмм возможно (делали правда по инструкции), однако тогда почему это работает на тестовом сервере?

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 10:07
Develop-Soft
nruslan2 писал(а): 20 сен 2021, 08:54 тогда почему это работает на тестовом сервере?
Оно прокатит, если без кавычек туда попадет число. Возможно на тестовом сервере был ввод типа "123123".

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 10:24
alcompstudio
Спасибо за помощь Руслан и вам, Владимир за доп.код и указанную ошибку по обрамлению в кавычках val - действительно в этом была ошибка, хотя в примере разработчика так не указано - там обрамление в одинарные кавычки, без дополнительного обрамления в двойные (или я код неправильно понял...)

$real_adress = [1016]; - это я просто вывел, чтобы видеть исходное значение Фактического адреса, и подставлял сначала эту переменную в echo вместо "прямого поля" из БД #fields_1016

Сработал такой код

Код: Выделить всё

$adress_check = [4358]; //Глобальный список
$value555 = [1015]; // Юридический адрес
$real_adress = [1016]; // Фактический адрес
	if($adress_check !== '3871')
    {
		echo '<script>$("#fields_1016").val("' . $value555 . '")</script>';
      // $real_adress = $value555;
      // $form_field_value = $real_adress;

    }
else return false;
Там я еще пытался по другому "накодить" )) - закомментированные строки, но такой код работает. Самое интересное (нашел в сети такой подход, не понял почему именно так должно быть...), что проверка IF не срабатывала - echo не реагировало на условие, как будто игнорировало его и все время копировало поле, что бы я ни поставил в поле Фактический адрес и поле с выпадающим списком - все равно поле Фактические адрес перезаписывалось.

Но вот такая строка "if($adress_check !== '3871')" - как бы "отрицание противоположного" - работает... т.е. в место вполне логичного if($adress_check = '3872').

Ввиду скудных познаний в языках программирования, не могу полностью объяснить сие "волшебство" ))

Re: Ajax Запрос - копирование из одного поля ввода в другое по условию из глобального списка - нужна помощь

Добавлено: 20 сен 2021, 10:28
Develop-Soft
alcompstudio писал(а): 20 сен 2021, 10:24 Но вот такая строка "if($adress_check !== '3871')" - как бы "отрицание противоположного" - работает... т.е. в место вполне логичного if($adress_check = '3872').
У вас в списке всего 2 значения и у вас очевидно выбрало первое по условию "кто угодно, только не единая Россия"...