Ввод данных в одно из двух полей

Все вопросы/проблемы по установке и использовании.
Ответить
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Ввод данных в одно из двух полей

Сообщение nruslan2 »

Вопрос:
есть два текстовых поля (Поле 1 и Поле 2).
Возможно ли используя поле AJAX (нужно выбирать данные из БД(( ) заставить заполняться одно поле, при заполнении другого.
Типа ввели данные в Поле 1 - в Поле 2 записались данные, и наоборот ввели данные в Поле 2 - в Поле 1 записались данные.
Если использовать JS формы, то проблем нет, но вот если использовать поле AJAX, то никак не могу отследить ввод данных в конкретное поле, получаю постоянное циклическое обновление( :(
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 766
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Ввод данных в одно из двух полей

Сообщение Fait »

nruslan2 писал(а): 12 янв 2024, 00:17 Вопрос:
есть два текстовых поля (Поле 1 и Поле 2).
Возможно ли используя поле AJAX (нужно выбирать данные из БД(( ) заставить заполняться одно поле, при заполнении другого.
Типа ввели данные в Поле 1 - в Поле 2 записались данные, и наоборот ввели данные в Поле 2 - в Поле 1 записались данные.
Если использовать JS формы, то проблем нет, но вот если использовать поле AJAX, то никак не могу отследить ввод данных в конкретное поле, получаю постоянное циклическое обновление( :(
Интересная задачка 🤔
Хочу попробовать решить.

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

Так вот, вопросы:
1) В полях информация одинаковая или разная? Типа, если в одном поле написал "привет", то в другом тоже должно быть "привет"? Или ещё проводится анализ данных из одного поля, чтобы в другое поле записалось что-то другое? Например, в одно поле пишешь "demotext", а в другом поле формируется URL типа "https://demo.ru/demotext".
2) Что должно происходить в поле 1, если ввёл что-то в поле 2, и при этом в поле 1 уже есть какие-то данные. Они заменяются или сохраняются как были?
3) Что должно происходить с полями при редактировании, а не создании новой записи? Какое из полей должно меняться и зависеть от другого? Или правила не должны работать в случае, если запись редактируется?
4) Для какой задачи это применяется? Может, не обязательно именно в форме делать, и достаточно будет PHP кода при сохранении?
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение nruslan2 »

Fait писал(а): 12 янв 2024, 02:41 Как я понимаю, при вводе чего-то в одно поле, в другое должны записаться какие-то данные.
Верно
Fait писал(а): 12 янв 2024, 02:41 1) В полях информация одинаковая или разная? Типа, если в одном поле написал "привет", то в другом тоже должно быть "привет"? Или ещё проводится анализ данных из одного поля, чтобы в другое поле записалось что-то другое? Например, в одно поле пишешь "demotext", а в другом поле формируется URL типа "https://demo.ru/demotext".
да без разницы. В моем случаи это число в одном в другом дата)
Fait писал(а): 12 янв 2024, 02:41 2) Что должно происходить в поле 1, если ввёл что-то в поле 2, и при этом в поле 1 уже есть какие-то данные. Они заменяются или сохраняются как были?
данные в поле 1 должны изменится, в этом вся и загвоздка что первичный ввод то отловить можно, но вот если пользователь ввел данные в поле 1, поле 2 посчиталось, пользователю не понравилось поле 2, он его изменил и поле 1 должно пересчитаться, ну или повторно он ввел в поле 1 данные поле 2 должно пересчитать!
Fait писал(а): 12 янв 2024, 02:41 3) Что должно происходить с полями при редактировании, а не создании новой записи? Какое из полей должно меняться и зависеть от другого? Или правила не должны работать в случае, если запись редактируется?
Различие между редактирование м и создания новой записи не должно быть! Смысл?!)
Fait писал(а): 12 янв 2024, 02:41 4) Для какой задачи это применяется? Может, не обязательно именно в форме делать, и достаточно будет PHP кода при сохранении?
Вся идея в том чтобы сразу в форме все видеть и вводить)) через php это на раз два решается)

Повторюсь на всякий случай идея использовать поле AJAX, так как надо это все на форме ввода видеть, через JS это решается, но у JS нет доступа к БД, а надо еще обрабатывать данные с БД)))
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение nruslan2 »

Тему можно закрыть)
Тупанул, в AJAX же можно прописать скрипт не заполнение поля, а скрипт функции))), т.е.:
Не вот так

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

$('#fields_236').val('.$a.')
А вот так

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

$('#fields_235').on('input', function() {
$('#fields_236').val(a)
})
:D :D :D
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 766
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Ввод данных в одно из двух полей

Сообщение Fait »

nruslan2 писал(а): 12 янв 2024, 11:36 Тему можно закрыть)
Тупанул, в AJAX же можно прописать скрипт не заполнение поля, а скрипт функции))), т.е.:
Не вот так

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

$('#fields_236').val('.$a.')
А вот так

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

$('#fields_235').on('input', function() {
$('#fields_236').val(a)
})
:D :D :D
Да, я в этом же направлении и думал как раз.
Рад, что смог разобраться ;)
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение nruslan2 »

эх рано радовался, если усложнить систему и расчеты все делать в php, а через js запускать вставку данных, то не работает - надо каким-то условиями обложится но в голову чет не лезет ничего:(

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

$a=[235];
$b=[236];

$p1=$a+1;
$p2=$b+1;

echo "<script>
$('#fields_236').on('input', function() {
a=".$p1.";
$('#fields_235').val(a)
})
$('#fields_235').on('input', function() {
b=".$p2.";
$('#fields_236').val(b)
})
</script>"; 
:(

https://pdemo.rukovoditel.pro/3.4/index ... mo_id=2843
Сущность Test.
Идея в том чтобы вводя данные в поле Z1, в поле Z2 записывались данные, но если мы введем данные в поле Z2 данные должны обновится в Z1.
alexinc
Сообщения: 391
Зарегистрирован: 03 мар 2022, 21:40
Имя: Alex
Откуда: Россия
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение alexinc »

Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
nruslan2
Сообщения: 2415
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение nruslan2 »

alexinc писал(а): 12 янв 2024, 15:01 Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
не совсем понял что такое сверху вниз и причем тут таймаут)
alexinc
Сообщения: 391
Зарегистрирован: 03 мар 2022, 21:40
Имя: Alex
Откуда: Россия
Контактная информация:

Re: Ввод данных в одно из двух полей

Сообщение alexinc »

nruslan2 писал(а): 12 янв 2024, 21:35
alexinc писал(а): 12 янв 2024, 15:01 Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
не совсем понял что такое сверху вниз и причем тут таймаут)
Я имел ввиду использовать в форме функцию setInterval для проверки изменения в полях. Какое поле измениться - из того и копировать.
Ответить