#html #button #web
#HTML #кнопка #веб
Вопрос:
Я пытаюсь использовать тег HTML button. Но у меня есть сомнения :
Кнопка должна появляться не всегда, а только в том случае, если выполняется какое-либо условие. Как я могу это реализовать?
В частности:
Пользователь выполняет поиск в моей базе данных. Записи, которые находятся в результате, отображаются в виде таблицы. Эти записи представляют собой списки событий, и пользователь может зарегистрироваться только для некоторых событий в зависимости от некоторых условий. Регистрация любого события становится возможной при нажатии кнопки «Регистрация». Как я могу сделать так, чтобы кнопка отображалась только рядом с записями, для которых этот пользователь имеет право зарегистрироваться?
Комментарии:
1. Просто используйте
if
блок в своей технологии просмотра на стороне сервера?2. Используйте скрипт на стороне сервера. PHP, JSP, ASP, что угодно. Затем вы можете решить, добавляете ли вы включенную или отключенную кнопку.
Ответ №1:
Вы должны отображать или нет кнопку во время создания html-страницы, а именно на стороне сервера. Не забудьте позже проверить на стороне сервера, авторизован ли пользователь для регистрации, прежде чем выполнять фактическую регистрацию.
Ответ №2:
Я бы использовал входной тег, если он будет использоваться для отправки формы. У вас есть возможность либо скрыть его условно на стороне сервера в зависимости от того, какой язык вы используете, либо скрыть его с помощью JavaScript на стороне браузера.
Серверная сторона предпочтительнее, потому что условие генерируется на этой стороне. Это также предотвращает вмешательство пользователя в работу браузера. Я бы также убедился, что последующие этапы проверяют соответствие требованиям, а не просто полагаются на наличие кнопки.
Комментарии:
1. «Это также предотвращает вмешательство пользователя в работу браузера». ЧТО?!?
2. Если вы что-то отключите с помощью JavaScript или CSS, кто-нибудь всегда может проверить DOM и отобразить его снова или повторно вставить элемент. Кроме того, если JavaScript ломается, внезапно открывается куча скрытых элементов. Короче говоря, если вы не хотите, чтобы кто-то касался кнопки, даже не размещайте ее на странице.
Ответ №3:
Если вы можете определить, может ли пользователь зарегистрироваться для события на сервере, тогда только <button>
в этом случае.
Если вы можете определить это только на стороне клиента по какой-либо причине (например: их соответствие требованиям основано на какой-то другой введенной ими информации), вы можете программно установить display
для свойства CSS none
значение, чтобы кнопка исчезла, хотя в этом случае может иметь смысл просто отключить кнопку.
Комментарии:
1. Вы имеете в виду атрибут «отключить» в теге button ?
2. @Nihit да. Поведение отличается: отключенная кнопка обычно видна (если вы не сделали что-то интересное в своей таблице стилей), но может иметь больше смысла в случае, когда пользователь может ввести что-то в форму, чтобы получить право на регистрацию.