HTML в поле ввода значения - PullRequest
15 голосов
/ 28 апреля 2011

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

<input type='text' value='<b>tekst</b>'></input>

Итак, вывод:

текст

вместо

<b>tekst</b>

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

Ответы [ 6 ]

12 голосов
/ 28 апреля 2011

Я не уверен из вашего вопроса, пытаетесь ли вы сделать значение содержащим HTML, или вы хотите применить HTML к чему-либо внутри ввода.

Если вы хотите иметь возможность установить значение для некоторого HTML, например <input value="<b>Some HTML</b>">, где значение будет фактически отображать HTML, вам нужно закодировать скобки HTML, например <input value="&lt;b&gt;Some text&lt;b/&gt;">. Существуют функции, позволяющие сделать это автоматически для большинства языков сценариев (например, htmlentities () в PHP).

Если вы хотите применить HTML к входному значению, краткий ответ ... вы не можете. Если вы хотите отформатировать там, вы можете использовать атрибут contentEditable в HTML5, который позволяет просто редактировать на месте (например, заголовки Flickr).

Если вы просто хотите, чтобы стандартное поле ввода было стилизовано, вы можете просто использовать CSS, как и другие предложенные ответы.

1 голос
/ 03 июня 2014

Вы должны закодировать весь HTML-код, который вы хотите, в значение и вставить его во входное значение.

Если вы закодируете это:

"http://sansoftmax.blogspot.com/"

Это будет выглядеть так:

&quot;http://sansoftmax.blogspot.com/&quot;

На входе:

value="&quot;http://sansoftmax.blogspot.com/&quot;"

Интернет-кодировщик / декодер HTML

1 голос
/ 29 апреля 2011

Вы можете попытаться расшифровать ваши сущности из вашего пост-значения. В PHP вы можете сделать это с помощью html_entity_decode ();

0 голосов
/ 04 июля 2018

Используйте этот код для HTML в поле ввода.

<input type="button" value="HomePage" />
0 голосов
/ 28 апреля 2011

Я не думаю, что вы можете поместить HTML в текстовое поле и интерпретировать его как HTML, а не как текст в поле.

Чтобы выполнить то, что вы хотите, вам придется использовать CSS.Пример строки, выделенный жирным шрифтом, как вы цитировали в своем примере:

<input type="text" style="font-weight: bold;" value="tekst" />
0 голосов
/ 28 апреля 2011

Попробуйте CSS:

input[type=text] {
    font-weight: bold;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...