не редактируемое поле html

Блокирование элементов форм

У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Блокирование

Блокирование элемента не позволяет вообще производить с ним каких-либо действий, в том числе выделять содержимое текстового поля, изменять его или активизировать. К тому же такие поля не отправляются на сервер.

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

На рис. 1 представлены разные элементы форм в заблокированном состоянии.

не редактируемое поле html. disabled. не редактируемое поле html фото. не редактируемое поле html-disabled. картинка не редактируемое поле html. картинка disabled. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Рис. 1. Вид заблокированных элементов в Chrome

Блокирование элементов форм обычно используется для того, чтобы динамически с помощью скриптов изменять значение поля. Пользователь не должен в подобном случае иметь доступ к полю, поэтому оно блокируется. В примере 1 показано применение скриптов для изменения блокировки кнопки.

Пример 1. Блокирования поля

HTML5 IE Cr Op Sa Fx

Результат данного примера в Safari показан ниже (рис. 2).

не редактируемое поле html. disabled2. не редактируемое поле html фото. не редактируемое поле html-disabled2. картинка не редактируемое поле html. картинка disabled2. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Рис. 2. Заблокированное текстовое поле

В данном примере применяется блокирование кнопки, но оно снимается, как только пользователь поставит флажок возле текста «Я согласен со всеми условиями».

Поле только для чтения

Поля формы можно не только блокировать, но и переводить их в режим только для чтения. В этом случае доступ к ним сохраняется, но изменять значения заданные по умолчанию нельзя. Разумеется, речь идёт только о полях, где требуется вводить текст. Выделять и копировать текст можно, но изменить не получится.

В примере 2 показано создание поля для чтения.

Источник

Как заблокировать редактирование input,select?

Существует 3 верстки(1 с максимальным доступ к редактированию,2 может редактировать только половину,3 только 2 пункта)
Кусок из кода для 3 верстки.

По нажатию кнопки редактировать,выполняется запрос

Проблема такая,что те поля,у которых стоит тег disabled,после нажатия кнопки,сбрасываются на пустые значения.
Без disabled все ок,но тогда поля доступны для редактирования,что меня не устраивает,не подскажите как решить?

не редактируемое поле html. 117b7eef872c4d11881f9d8fe979d263. не редактируемое поле html фото. не редактируемое поле html-117b7eef872c4d11881f9d8fe979d263. картинка не редактируемое поле html. картинка 117b7eef872c4d11881f9d8fe979d263. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

не редактируемое поле html. d151202bc5fb4bcf9ceddabee63264c8. не редактируемое поле html фото. не редактируемое поле html-d151202bc5fb4bcf9ceddabee63264c8. картинка не редактируемое поле html. картинка d151202bc5fb4bcf9ceddabee63264c8. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

не редактируемое поле html. d151202bc5fb4bcf9ceddabee63264c8. не редактируемое поле html фото. не редактируемое поле html-d151202bc5fb4bcf9ceddabee63264c8. картинка не редактируемое поле html. картинка d151202bc5fb4bcf9ceddabee63264c8. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

не редактируемое поле html. 8eae859e19c9e059332d4db92056edef. не редактируемое поле html фото. не редактируемое поле html-8eae859e19c9e059332d4db92056edef. картинка не редактируемое поле html. картинка 8eae859e19c9e059332d4db92056edef. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Когда вы выставляете disabled на какое-то поле браузер не отправляет содержимое поля на сервер. Если у вас сугубо внутренний проект и предполагается что пользователи не собираются его «хакать» или что они все как у Задорнова тупыыые можете сделать эти поля скрытыми, например. (type=»hidden» или стилями display: none;).

Но вообще так делать нехоршо, ведь любой злоумышленник хоть немного знакомый с консолью вызываемой в браузере по F12 может отредактировать форму, и отправить на сервер что угодно.

И да, вам скорее всего не понравится то, что сейчас напишут в ответах. Напишут про «выбросить эту лапшу и переписать», про то, что mysql_* функции давно deprecated, и пора перейти на ORM или PDO. Напишут, что права на редактирование полей нужно проверять на сервере, и использовать разные запросы в базу для разных прав. И будут правы.

Источник

Как сделать ввод текста не редактируемым с помощью CSS?

Атрибут только для чтения в HTML используется для создания текстового ввода, недоступного для редактирования. Но в случае CSS свойство pointer-events используется для остановки событий указателя.

Синтаксис:

Пример 1: В этом примере показаны два входных текста, один из которых недоступен для редактирования.

Disable Text Input field

body style = «text-align:center;» >

h1 style = «color:green;» >

Non-editable: input class = «inputClass»

name = «input» value = «GeeksForGeeks» >

Editable: input class = «inputClass2»

name = «input» value = «GeeksForGeeks» >

Выход:
не редактируемое поле html. sturavbiegoodbake368055. не редактируемое поле html фото. не редактируемое поле html-sturavbiegoodbake368055. картинка не редактируемое поле html. картинка sturavbiegoodbake368055. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Пример 2: В этом примере создается два входных текста, которые не редактируются.

Disable Text Input field

body style = «text-align:center;» >

h1 style = «color:green;» >

Non-editable: input class = «inputClass»

name = «input» value = «GeeksForGeeks» >

Non-Editable: input class = «inputClass»

name = «input» value = «GeeksForGeeks» >

Выход:
не редактируемое поле html. lieblinbuakdiitomsu588167. не редактируемое поле html фото. не редактируемое поле html-lieblinbuakdiitomsu588167. картинка не редактируемое поле html. картинка lieblinbuakdiitomsu588167. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Источник

Работа с input: подборка полезных решений на HTML и CSS

Содержание:

не редактируемое поле html. 3f0a4f6bbcf1731e3a992a294fdf5bc54a. не редактируемое поле html фото. не редактируемое поле html-3f0a4f6bbcf1731e3a992a294fdf5bc54a. картинка не редактируемое поле html. картинка 3f0a4f6bbcf1731e3a992a294fdf5bc54a. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

В рамках работы над полями ввода (input) существуют не всегда очевидные и, как правило, редко используемые CSS-приёмы и HTML-атрибуты, позволяющие без использования JavaScript преобразовать внешний вид элементов формы и позаботиться об их юзабилити. Вниманию читателя представляется небольшая подборка таких «фишек» — как уже давно применяемых, так и относительно новых, ещё не поддерживаемых всеми браузерами.

Не смотря на кажущуюся тривиальность, описываемые ниже решения далеко не всегда применяются в процессе создания различных форм ввода на сайте. Список включает в себя наиболее необычный по мнению автора CSS-код, решающий разрозненные задачи — от изменения цвета каретки до затенения символов в поле.

Стиль выделения ошибок

Стиль выделения текста

В отличие от предыдущих псевдоэлементов из CSS4 ::selection поддерживается большинством браузеров и представляет собой способ стилизации выделяемого пользователем содержимого как внутри отдельного поля ввода, так и во всём документе.

Для ::selection есть пара нюансов, относящихся не только к input :

С учетом особенностей Webkit цвета при выделении рекомендуется задавать следующим образом:

Добавление эллипсиса

Когда ширина текстового содержимого обычного input type=»text» больше его фактической ширины, текст по умолчанию обрезается по правому краю и появляется возможность горизонтальной прокрутки. Чтобы сделать обрезку текста визуально привлекательнее через многоточие (эллипсис), следует применить text-overflow :

Удаление лишних элементов внутри полей в IE

Начиная с версии 10 в Internet Explorer такие типы полей как text или password по умолчанию содержат внутри себя дополнительные элементы, вставляемые браузером для улучшения юзабилити, — иконку очистки поля (крестик) и отображения пароля (глаз). Они легко удаляются благодаря соответствующим псевдоэлементам:

Удаление желтого фона при автозаполнении полей

В Webkit после автозаполнения (как правило, форм с логином и паролем) поля приобретают желтый фон и черный цвет текста, которые добавляются непосредственно стилями браузера:

Однако это решение не сработает, если у поля изначально задано фоновое изображение, градиент или полностью прозрачный фон и их необходимо сохранить. В подобной ситуации следует воспользоваться анимацией:

Удаление стрелки в поле с datalist

При использовании атрибута list (подробнее рассмотрен ниже) в браузерах Webkit к input добавляется иконка в виде стрелки, указывающая на возможность выбора значений из выпадающего списка. За отображение иконки отвечает специальный псевдоэлемент, который может быть скрыт:

Увеличение затенённых символов пароля

Как известно, вводимые в input type=»password» данные затеняются другими символами (как правило, маской служит астериск или черный круг). В Webkit размер этих символов значительно меньше, чем в остальных браузерах. Для их увеличения рекомендуется использовать для поля с паролем шрифт более жирного начертания. Из безопасных шрифтов на эту роль хорошо подходит Verdana, а так как изменения необходимы только для Webkit, селектор можно обернуть в специфический @media :

Затенение символов в поле ввода

Подобное затенение может понадобиться, например, для ввода номера телефона, пин-кода и прочих важных данных, которые пользователь предпочел бы скрыть от посторонних глаз.

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

Полезные HTML-атрибуты

Стоит так же отметить, что несмотря на все атрибуты и способы стилизации, возможности стандартного текстового поля сильно ограничены. Если требуется создать многофункциональную область ввода аналогичную тем, что используются в месседжерах и социальных сетях, например, input со вставкой emoji, следует прибегнуть к помощи HTML5-атрибута contenteditable.

Автофокус на элементе формы

Атрибут autofocus позволяет заранее сфокусироваться на элементе формы, что в определенных ситуациях является прекрасной альтернативой методу HTMLElement.focus() в JS:

Предопределение формата вводимых в поле данных

Пользователям мобильных платформ с виртуальной клавиатурой можно помочь сэкономить время и упростить взаимодействие с формой, если заранее подсказать браузеру, что именно требуется ввести в конкретное поле.

«Некоторые устройства, в частности с виртуальными клавиатурами, могут предоставлять пользователю несколько методов ввода. Например, при вводе номера кредитной карты пользователь захочет видеть только клавиши для цифр 0−9, тогда как при вводе имени предпочтительнее работать с полем, которое автоматически начинает каждое слово с заглавной буквы». Спецификация HTML

Кроме вышеперечисленных значений браузеры так же принимают:

Перевод вводимых данных в верхний регистр букв

Например, подобным образом может выглядеть область ввода для контента, который разработчик хочет видеть оформленным как абзац:

Добавление готовых вариантов для ввода

Для добавления в поле доступных опций в его атрибуте codelist указывается идентификатор списка, которым, в свою очередь, должен обладать datalist :

Источник

Защита от дурака

«Защитой от дурака» называется комплекс мер по пресечению ввода неправильной информации в форме. Например, если в поле требуется ввести положительное число от 0 до 10, то следует проверить, чтобы пользователь не ввёл текст или число, которое не лежит в указанном диапазоне, т.е. число не должно быть меньше нуля и больше десяти.

Почему происходит ввод неправильной информации? Это в основном совершается по трём причинам.

Следует понимать, что точные и правильные формулировки хотя и снижают вероятность возникновения ошибок, но никак не спасают от них. Только технические средства на стороне сервера позволяют получить требуемый результат и избежать ввода неправильной информации. Тем не менее, ревизия или, как её ещё называют, валидация на стороне клиента позволяет быстро проверить данные, вводимые пользователем, на корректность, без отправки формы на сервер. Таким образом экономится время пользователя и снижается нагрузка на сервер. С позиции юзабилити тоже имеются плюсы — пользователь сразу получает сообщение о том, какую информацию он указал неверно и может исправить свою ошибку.

Обязательное поле

Пример 1. Атрибут required

HTML5 IE 10+ Cr Op Sa Fx

Обязательные поля должны быть заполнены перед отправкой формы, иначе форма на сервер не отправится и браузер выдаст об этом предупреждение. Вид сообщения зависит от браузера, например Chrome выводит всплывающую подсказку, как показано на рис. 1.

не редактируемое поле html. required. не редактируемое поле html фото. не редактируемое поле html-required. картинка не редактируемое поле html. картинка required. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Рис. 1. Обязательное поле не заполнено

Корректность данных

Исходно имеется два поля, в котором вводимые пользователем данные проверяются автоматически. Это веб-адрес и адрес электронной почты. Браузер Chrome также проверяет на корректность поле с календарными данными, но только потому, что у него не предусмотрен интерфейс выбора календаря щелчком мыши. Для этих элементов характерны следующие правила.

У браузеров несколько различается политика по проверке данных пользователя. К примеру, Opera подставляет протокол http:// перед введённым текстом автоматически, тогда как другие браузеры ждут его от пользователя. Chrome и Opera требуют, чтобы в почтовом адресе была точка, для Firefox она не обязательна.

В примере 2 показана форма с обязательными полями, в которой два поля проверяется браузером.

Пример 2. Корректность данных

HTML5 IE 10+ Cr Op Sa Fx

Opera проверяет элемент формы только при наличии атрибута name.

Что происходит в Opera при вводе неверных данных показано на рис. 2.

не редактируемое поле html. valid. не редактируемое поле html фото. не редактируемое поле html-valid. картинка не редактируемое поле html. картинка valid. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Рис. 2. Предупреждение о неправильных данных

Шаблон ввода

Табл. 1. Регулярные выражения

ШаблонОписание
^[a-zA-Z]+$Любые латинские буквы.
^[ 0-9]+$Любое количество цифр.
\d<1,3>\.\d<1,3>\.\d<1,3>\.\d

IP-адрес.
6

Почтовый индекс.
\d+(,\d<2>)?Цена в формате 1,34 (разделитель запятая).
\d+(\.\d<2>)?Цена в формате 2.10 (разделитель точка).

В примере 3 просят ввести шестнадцатеричное значение цвета (#ffcc00) и если оно не лежит в этом диапазоне, браузер выводит сообщение об ошибке.

Пример 3. Шаблон ввода

HTML5 IE 10+ Cr Op Sa Fx

На рис. 3 показано предупреждение в браузере Chrome.

не редактируемое поле html. valid2. не редактируемое поле html фото. не редактируемое поле html-valid2. картинка не редактируемое поле html. картинка valid2. У любого элемента формы есть два состояния, которые ограничивают доступ к элементу или ввод данных, — блокирование (disabled) и только для чтения (readonly).

Рис. 3. Введённые данные не соответствуют шаблону

Отмена валидации

Валидация не всегда требуется для формы, к примеру, разработчик пожелает использовать универсальное решение на JavaScript и дублирующая проверка браузером ему уже ни к чему. В подобных случаях необходимо отключить встроенную валидацию. Для этого применяется атрибут novalidate тега

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *