Ввод данных в одно из двух полей
-
- Сообщения: 2415
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Ввод данных в одно из двух полей
Вопрос:
есть два текстовых поля (Поле 1 и Поле 2).
Возможно ли используя поле AJAX (нужно выбирать данные из БД(( ) заставить заполняться одно поле, при заполнении другого.
Типа ввели данные в Поле 1 - в Поле 2 записались данные, и наоборот ввели данные в Поле 2 - в Поле 1 записались данные.
Если использовать JS формы, то проблем нет, но вот если использовать поле AJAX, то никак не могу отследить ввод данных в конкретное поле, получаю постоянное циклическое обновление(
есть два текстовых поля (Поле 1 и Поле 2).
Возможно ли используя поле AJAX (нужно выбирать данные из БД(( ) заставить заполняться одно поле, при заполнении другого.
Типа ввели данные в Поле 1 - в Поле 2 записались данные, и наоборот ввели данные в Поле 2 - в Поле 1 записались данные.
Если использовать JS формы, то проблем нет, но вот если использовать поле AJAX, то никак не могу отследить ввод данных в конкретное поле, получаю постоянное циклическое обновление(
- Fait
- Инвестор
- Сообщения: 766
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Ввод данных в одно из двух полей
Интересная задачка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 кода при сохранении?
-
- Сообщения: 2415
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Re: Ввод данных в одно из двух полей
Верно
да без разницы. В моем случаи это число в одном в другом дата)Fait писал(а): ↑12 янв 2024, 02:41 1) В полях информация одинаковая или разная? Типа, если в одном поле написал "привет", то в другом тоже должно быть "привет"? Или ещё проводится анализ данных из одного поля, чтобы в другое поле записалось что-то другое? Например, в одно поле пишешь "demotext", а в другом поле формируется URL типа "https://demo.ru/demotext".
данные в поле 1 должны изменится, в этом вся и загвоздка что первичный ввод то отловить можно, но вот если пользователь ввел данные в поле 1, поле 2 посчиталось, пользователю не понравилось поле 2, он его изменил и поле 1 должно пересчитаться, ну или повторно он ввел в поле 1 данные поле 2 должно пересчитать!
Различие между редактирование м и создания новой записи не должно быть! Смысл?!)
Вся идея в том чтобы сразу в форме все видеть и вводить)) через php это на раз два решается)
Повторюсь на всякий случай идея использовать поле AJAX, так как надо это все на форме ввода видеть, через JS это решается, но у JS нет доступа к БД, а надо еще обрабатывать данные с БД)))
-
- Сообщения: 2415
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Re: Ввод данных в одно из двух полей
Тему можно закрыть)
Тупанул, в AJAX же можно прописать скрипт не заполнение поля, а скрипт функции))), т.е.:
Не вот так
А вот так
Тупанул, в AJAX же можно прописать скрипт не заполнение поля, а скрипт функции))), т.е.:
Не вот так
Код: Выделить всё
$('#fields_236').val('.$a.')
Код: Выделить всё
$('#fields_235').on('input', function() {
$('#fields_236').val(a)
})
- Fait
- Инвестор
- Сообщения: 766
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
Re: Ввод данных в одно из двух полей
Да, я в этом же направлении и думал как раз.nruslan2 писал(а): ↑12 янв 2024, 11:36 Тему можно закрыть)
Тупанул, в AJAX же можно прописать скрипт не заполнение поля, а скрипт функции))), т.е.:
Не вот такА вот такКод: Выделить всё
$('#fields_236').val('.$a.')
Код: Выделить всё
$('#fields_235').on('input', function() { $('#fields_236').val(a) })
Рад, что смог разобраться
-
- Сообщения: 2415
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Re: Ввод данных в одно из двух полей
эх рано радовался, если усложнить систему и расчеты все делать в php, а через js запускать вставку данных, то не работает - надо каким-то условиями обложится но в голову чет не лезет ничего:(
https://pdemo.rukovoditel.pro/3.4/index ... mo_id=2843
Сущность Test.
Идея в том чтобы вводя данные в поле Z1, в поле Z2 записывались данные, но если мы введем данные в поле Z2 данные должны обновится в Z1.
Код: Выделить всё
$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.
-
- Сообщения: 391
- Зарегистрирован: 03 мар 2022, 21:40
- Имя: Alex
- Откуда: Россия
- Контактная информация:
Re: Ввод данных в одно из двух полей
Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
-
- Сообщения: 2415
- Зарегистрирован: 14 окт 2020, 09:13
- Имя: Ruslan
- Откуда: Moscow
- Контактная информация:
Re: Ввод данных в одно из двух полей
не совсем понял что такое сверху вниз и причем тут таймаут)alexinc писал(а): ↑12 янв 2024, 15:01 Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.
-
- Сообщения: 391
- Зарегистрирован: 03 мар 2022, 21:40
- Имя: Alex
- Откуда: Россия
- Контактная информация:
Re: Ввод данных в одно из двух полей
Я имел ввиду использовать в форме функцию setInterval для проверки изменения в полях. Какое поле измениться - из того и копировать.nruslan2 писал(а): ↑12 янв 2024, 21:35не совсем понял что такое сверху вниз и причем тут таймаут)alexinc писал(а): ↑12 янв 2024, 15:01 Сдается мне, вам нужно делать функцию по таймеру в форме на JS(Настройка формы - Добавить JavaScript), которая отслеживает начало ввода в поле и переносит потом данные. Учитывая, что данные не могут единовременно вводиться в оба поля одним пользователям, просто пробегать сверху вниз или снизу вверх на проверку и потом заносить.
Таймаут на проверку подобрать экспериментально. Но обычно 1-2 (1000-2000) секунд хватает.