HTML в значении поля ввода
Как я могу заставить HTML работать в значении поля ввода? Если вы включите HTML в значение, он будет отображаться как чистый текст. Есть ли способ сделать что-то подобное?
<input type='text' value='<b>tekst</b>'></input>
Таким образом, выход:
tekst
вместо
<b>tekst</b>
Я думаю, что это был плохой пример... Я хочу, чтобы все соответствующие HTML-теги работали. Если я хочу включить изображение, изображение появится на входе, если я хочу добавить тег... текст должен отображаться как ссылка.
Ответы
Ответ 1
Я не уверен в вашем вопросе, хотите ли вы, чтобы значение содержало HTML, или хотите ли вы применить HTML к чему-то внутри ввода.
Если вы хотите установить значение для некоторого HTML, например <input value="<b>Some HTML</b>">
, где значение действительно покажет HTML, вам нужно закодировать скобки HTML, например <input value="<b>Some text<b/>">
. Существуют функции, доступные для этого автоматически для большинства языков сценариев (например, htmlentities() в PHP).
Если вы хотите применить HTML к входному значению, короткий ответ... вы не можете. Если вы хотите форматировать там, вы можете использовать атрибут contentEditable в HTML5, который позволяет вам просто редактировать на месте (думаю, заголовки Flickr).
Если вы хотите просто создать стандартное поле ввода, вы можете просто использовать CSS, как и другие предложенные ответы.
Ответ 2
Вы можете попытаться декодировать вас сущности из вашего postvalue.
В PHP вы можете сделать это с помощью html_entity_decode();
Ответ 3
Вам нужно закодировать весь необходимый HTML-код и вставить его во входное значение.
Если вы кодируете это:
"http://sansoftmax.blogspot.com/"
Он будет выглядеть следующим образом:
"http://sansoftmax.blogspot.com/"
На входе:
value=""http://sansoftmax.blogspot.com/""
Интернет-кодировщик/декодер
Ответ 4
Попробуйте CSS:
input[type=text] {
font-weight: bold;
}
Ответ 5
Я не думаю, что вы можете поместить HTML внутри текстового поля и интерпретировать его как HTML, а не как текст в поле.
Чтобы выполнить то, что вы хотите, вам придется использовать CSS. Пример строки, выделенной жирным шрифтом, как вы указали в своем примере:
<input type="text" style="font-weight: bold;" value="tekst" />