Часто кнопки используются для всякой лабуды, например - переход на другую страницу, на которую не должны попадать роботы. По этому делается это не простой ссылкой, а ява-скриптом и привязывается это к какому-нибудь объекту. Можно сидеть, писать индусский код для обработки каждой кнопки, а можно использовать простую функцию обработки. Но она так же полезна - когда нужно отправить какие-нибудь данные через Ajax.
И так код:
$("button").click(function(event){ var link = $(this).data('link'); var ajax = $(this).data('ajax'); var txt = $(this).data('txt'); if (link) {document.location.href = link;} if (ajax) { $.ajax({ type: "POST", url: ajax, data: "txt=" + txt }) } })
Код понятен и без слов, но к сути, есть кнопка, ей ставим атрибут data-link="" и при нажатии на нее - случится переход по ссылке.
Вариант два - нужно отправить какие-то данные с этой кнопки на какой-то обработчик на сервере, собсно пишем уже два атрибута:
data-ajax='/act.php' - собственно ссылка на обработчик и данные которые нужно кинуть пост-запросом data-txt='blablabla'
И так - скрипту /act.php придет пост-запрос с именем txt и данными blablabla.
Где же может пригодится столь малая пересылка данных? например - в голосовалке, лайках и прочей фигне, ведь /act.php может принимать не только пост-запрос, но и гет! для этого опять меняем атрибут data-ajax='/act.php?page=1' и так далее по мере развития фантазии.
В итоге имеем не сложный js-скрипт и кнопки, которые можно озадачить хоть чем, всего лишь меняя их атрибуты! Но что делать, если есть особенная кнопка, которая не должна подчиняться этому скрипту? просто не указываем атрибуты, используемые в скрипте!
Рейтинг: 23
Обновлено: 09.10.2024