LINUX.ORG.RU

Отследить введённые, но не отправленные данные

 , , ,


0

1

Суть в заголовке. Не знаю, зачем это понадобилось клиенту. Можно ли в принципе это сделать? Чудесным образом узнать, что пользователь закончил вводить то что хотел, что он именно после этого ввода не тыкнул на отправку формы? Это отслеживать все инпуты на предмет ввода, а дальше что? По-моему какой-то бред.

★★★★★

Ответ на: комментарий от Vit

Что-то типа того я написал. А вот как отследить неотправление формы? Хотя бы логику. Следить за всей страницей при потере фокуса, если не следующее нажатие не сабмит, то отправлять что снял с инпута?

cinyflo ★★★★★
() автор топика

Ну а как, например, проверяют доступность ника при регистрации или стойкость пароля? Не для этого разве?

serkhay
()

Попробуй просто спустя N-секунд после того, как юзер закончил ввод сохранять состояние всех (или не всех) формочек.

Это самый простой вариант, наверное.

Deleted
()

можно. При onChange со всех инпутов ajax-ом отправляй данные на сервер, а там - сохраняй удобно для последующей обработке.

bvn13 ★★★★★
()
Ответ на: комментарий от Deleted

bvn13

Это самое логичное решение. Но тогда будут отправляться все, даже отправленные данные. Или я что-то не понял?

cinyflo ★★★★★
() автор топика
Ответ на: комментарий от cinyflo

Сначала сформулируй что такое «отследить неотправление формы». И чем тебе не подходят обработчики событий.

Vit ★★★★★
()

Например в ангуляре 1 это можно сделать так: у тебя есть модель для формы, ты исходя из наличия данных в модели понимаешь, что форма не пустая. В ui-router есть transition-hooks, в котором, собственно, можно понимать, что человек уходит на другую страницу и сохранять информацию о невведенных данных пользователя. Собственно, тоже самое есть в разной интерпретации в ангуляре 10050, реакте и вуе.

nikolnik ★★★
()
Последнее исправление: nikolnik (всего исправлений: 1)

Или можно еще проще: у тебя же есть какая-то кнопка submit\save\confirm\etc? Так просто храни состояние submitButtonClicked = true|false

nikolnik ★★★
()
Ответ на: комментарий от cinyflo

да, не понял :)

ajax-запросы с onChange input-ов нужно ловить отдельным uri, записывать отдельно от «нормальных», подтвержденных данных.

bvn13 ★★★★★
()

Не знаю, зачем это понадобилось клиенту.

Навеяло. В те дикие времена, когда все деревья ещё были большими, сидел я как-то на диване и раскладывал по полочкам очередную прогулку по лезвию бритвы, вычёркивая из блокнотика некоторых персон из списка друзей.
Холодный пот струился по спине, ныли сбитые костяшки пальцев и невесёлые мысли скакали по остаткам извилин. И в целом - было не очень.
Варианта было три:
а) Прыгнуть в окошко.
б) Накеряться в дрыбодан.
Слышу, кто-то ломится в мессенжер.
Хороший человек. Знает, что не очень, но не знает, насколько. Всю картину маслом видел только я.
Советует, наставляет. И прочее.
Что-то отвечаю. Судя по всему какую-то дичь. Ибо почти ощущаю, как хороший человек хочет влепить мне леща. Наверное, стоило бы.
И тут хороший человек сообщает мне нечто, что моментально поднимает температуру тела до 60 в тени и заставляет иссушиться холодному поту на моих жирных боках.
«И слава Богу», - думаю я, перестаю бегать по потолку и в конвульсиях пишу в ответ что-то в стиле:
- Изыди, сотона.
Но спинной мозг, старинный мой друг и хозяин положения, удерживает от нажатия на «Enter», удаляет написанное и велит идти собирать сумку, чтобы быстрым и эффектным пенделем переместить тушку на юга. Дескать, пускай лучше посмотрит на девок, чем мается дурью.
Назло всем трём жёнам.


Это я к тому, что фантазии заказчика не знают границ.
На WinAPI когда-то делал нечто подобное.
Но то было давно.

Deleted
()

Упоротая хрень, имхо, ценность таких данных стермится к 0. Самый простой способ - слушать событие «beforeunload» и по нему отправлять post запросом json с содержимом формы.

menangen ★★★★★
()

Алгоритм прост:

1. для каждого рендера формы держи id.

2. на onblure (потеря фокуса инпута) отправляй пост {idform, value} или накапливай локально и отправляй уже когда сам считаешь нужным всем скопом например.

3. На пост формы удаляй из хранилища данные по idform

Данные которые остались легко можно сгруппировать по idform Это тебе как основа, дорабатывай по своим потребностям. Но это не тменяет сомнительность затеи

Noob_Linux ★★★★
()
Ответ на: комментарий от AlexKiriukha

Сохранить в localstorage по keypress форму, и отправлять на сервер

ism ★★★
()
Ответ на: комментарий от Pinkbyte

Конечно понимаю ;-)

где такую дурь брать

Лучше не надо =)
И вот почему. Некоторые посты, в том числе в этом треде, написаны на работе. Так вот, чтобы уберечься от излишне пристального внимания разного рода наблюдателей, и чтобы тебя поняли те, кто должен понять, пришлось постичь искусство художественного свиста.
Надеюсь, ты меня понимаешь. ;-)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.