о теге html

#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 да. Поведение отличается: отключенная кнопка обычно видна (если вы не сделали что-то интересное в своей таблице стилей), но может иметь больше смысла в случае, когда пользователь может ввести что-то в форму, чтобы получить право на регистрацию.