Вернуться к последней нажатой кнопке в таблице, JS? JQUERY? |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6813-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Вернуться к последней нажатой кнопке в таблице, JS? JQUERY? |
mzk |
Apr 9 2018, 9:20
Пост
#1
|
Репутация: 83 Cтаршой Группа: Пользователи Сообщений: 673 С нами с: 27-February 08 |
Друзья, динамически рисуется таблица на html и в последней колонке есть поля инпута и кнопка "button"
Может быть от 1 до 150 строк (кнопок) за поиск, у всех строк\кнопок есть уникальные id. После нажатия на кнопку, например, "id=89 button", происходит отправка данных и рефреш страницы. Каким образом после рефреша я могу вернуться к этой же кнопке, чтобы не крутить колесо мышки в 30 экранов? Спасибо |
yarnik |
Apr 10 2018, 10:33
Пост
#2
|
Репутация: 31 Активист Группа: Пользователи Сообщений: 233 С нами с: 25-January 07 |
html якорь?
|
mzk |
Apr 10 2018, 11:14
Пост
#3
|
Репутация: 83 Cтаршой Группа: Пользователи Сообщений: 673 С нами с: 27-February 08 |
А как выцепить последнюю нажатую кнопку и спуститься к ней автоматом ?
По нажатию на кнопку происходит вот это: $(document).on('click', '.buttonu', function( event ) { var $button = $(event.target); var $row = $button.closest('tr'); var $elements = $row.find('input'); var data = $elements.serialize(); alert(this.id); $.ajax({ type : 'POST', data : data, url : "update_mysql.php", success : function(result){ alert(result); document.getElementById('submit').click(); } }); return false; }); Обновляется БД, на страничке вылажит алерт с результатом и кнопкой "Ок". После нажатия на "Ок" нажимается кнопка "submit", которая обновляет страницу (запускает поиск заново и выводит уже обновленную инфу из БД) |
yarnik |
Apr 10 2018, 14:24
Пост
#4
|
Репутация: 31 Активист Группа: Пользователи Сообщений: 233 С нами с: 25-January 07 |
Аякс тут не при чем,
Вы же писали что у каждой кнопки есть свой ID, прицепите рядом и якоря с уникальным ID. Осталось во время перезагрузки страницы указать какой именно якорь вы хотите видеть. |
mzk |
Apr 10 2018, 16:54
Пост
#5
|
Репутация: 83 Cтаршой Группа: Пользователи Сообщений: 673 С нами с: 27-February 08 |
Якорем может выступить и id кнопки в этом случае.
Вопрос остается открытым, как мне прыгать в последний нажатый якорь после перезагрузки страницы? |
Chiffons |
Apr 10 2018, 17:14
Пост
#6
|
Репутация: 49 Активист Группа: Пользователи Сообщений: 423 С нами с: 14-August 09 |
|
mega K. |
Apr 10 2018, 17:15
Пост
#7
|
Репутация: 29 Активист Группа: Пользователи Сообщений: 228 С нами с: 1-July 07 |
делать не рефреш, а редирект с query парметром (example.com/?id=89 button) ну и при отрисовке уже джаваскриптом двигать к этой кнопке
|
mzk |
Apr 10 2018, 19:42
Пост
#8
|
Репутация: 83 Cтаршой Группа: Пользователи Сообщений: 673 С нами с: 27-February 08 |
|
SyntaxError |
Apr 11 2018, 11:11
Пост
#9
|
Репутация: 440 Ветеран Группа: Пользователи Сообщений: 7 467 С нами с: 7-December 12 |
ты можешь сервером редиректить на урл с хэшом и тебе не нужен js для этого, т.к. браузер по дефолу скроллит к элементу с нужным ID.
yourwebsite.com/#button_ID Сообщение отредактировал SyntaxError - Apr 11 2018, 11:17 |
yarnik |
Apr 11 2018, 13:00
Пост
#10
|
Репутация: 31 Активист Группа: Пользователи Сообщений: 233 С нами с: 25-January 07 |
|
mzk |
Apr 11 2018, 20:31
Пост
#11
|
Репутация: 83 Cтаршой Группа: Пользователи Сообщений: 673 С нами с: 27-February 08 |
Это работает только уже после нажатия на кнопку Поиск (submit).
Без нажатия на кнопку мне бекенд не отдаст список строк с кнопками (send_change) Если построить логику так: 1) написать в поле инпута "блабла" 2) нажать кнопку "send_change", которая записывает инфу в БД дергая php файл через ajax. 3) после записи в БД этот же ajax нажимает кнопку Поиск (submit), чтобы увидеть результат с обновленной инфой 4) Сделать редирект в yourwebsite.com/#button_ID Для этого нужно знать последний нажатый #button_ID, который я не соображаю как сохранять в localstorage или sessionstorage |
Freestyler |
Apr 11 2018, 20:59
Пост
#12
|
Репутация: 150 Cтаршой Группа: Пользователи Сообщений: 917 С нами с: 21-March 07 |
Set: localStorage.setItem("buttonID", button_ID)
Get: localStorage.getItem("buttonID") |
SyntaxError |
Apr 11 2018, 22:10
Пост
#13
|
Репутация: 440 Ветеран Группа: Пользователи Сообщений: 7 467 С нами с: 7-December 12 |
Это работает только уже после нажатия на кнопку Поиск (submit). Без нажатия на кнопку мне бекенд не отдаст список строк с кнопками (send_change) Если построить логику так: 1) написать в поле инпута "блабла" 2) нажать кнопку "send_change", которая записывает инфу в БД дергая php файл через ajax. 3) после записи в БД этот же ajax нажимает кнопку Поиск (submit), чтобы увидеть результат с обновленной инфой 4) Сделать редирект в yourwebsite.com/#button_ID Для этого нужно знать последний нажатый #button_ID, который я не соображаю как сохранять в localstorage или sessionstorage Если все происходит без перезагрузки, то тебе не нужны хранилища. Кнопка у тебя уже есть - event.target. Ты ее можешь сохранит в глобальную переменную, если надо обратиться из другого скрипта. Дальше можно либо менять window.location, либо считать offset top кнопки и скроллить страницу методом sctollTop на величину offset top. |
Упрощённая версия | Сейчас: 9th November 2024 - 4:07 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |