HTML в значении поля ввода

#html

#HTML

Вопрос:

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

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

Таким образом, на выходе получается:

tekst

вместо

<b>tekst</b>

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

Комментарии:

1. почему бы не задать подобный стиль для ввода input{ font-weight: bold; }

2. нет, нет, я привел это как пример, я улучшаю любой вид html,

3. вы пытаетесь создать WYSIWYG-редактор? нравится ckeditor.com

4. нет, но мне нужно посмотреть, есть ли какой-нибудь способ это сделать

Ответ №1:

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

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

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

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

Комментарии:

1. ты спас мою жизнь от совершенно не связанной с этим проблемы, искал в Сети, как встроить html в строку, которую я хотел сделать частично html-элементом, а частично текстом 🙂

2. Htmlentities выполняет свою работу

Ответ №2:

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

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

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

Это будет выглядеть следующим образом:

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

При вводе:

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

Онлайн кодировщик/декодер Html

Комментарии:

1. Этот кодировщик стал очень полезным. Если кому-то нужно вставить HTML-код в качестве значения поля в HTML-файл в Visual Studio, сначала вы должны закодировать эту строку, а затем, когда вы вставляете ее в файл, visual studio спросит вас, хотите ли вы экранировать этот текст. Когда вы отказываетесь выполнять экранирование, все работает просто отлично

Ответ №3:

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

Ответ №4:

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

Для достижения желаемого вам придется использовать CSS. Встроенный пример выделения текста жирным шрифтом, как вы указали в своем примере:

 <input type="text" style="font-weight: bold;" value="tekst" />
  

Комментарии:

1. @Danish: Мне было интересно, почему этот ответ недавно получил пару отрицательных отзывов после того, как был забыт в течение 6 лет. Из вопроса неясно (по крайней мере, для меня — и я только что понял, что пытался прояснить это), чего хотел OP. Если у вас есть реальные отзывы, пожалуйста, предоставьте их. К сожалению, «действительно!! что??!» не помогает.

2. вы явно сердитесь, я удалю свой раздражающий комментарий, извините!

3. @Danish: Нет, я не сержусь. Я действительно пытаюсь понять, почему мой ответ внезапно не понравился.

4. @GreebMatt итак, из вопроса до сих пор я понял, что OP должен был сохранять html как значение во входном теге. Его пример может навести вас на мысль, что он хочет увеличить вес шрифта, но он имел в виду, что html должен быть сохранен во входных данных вот так «<b> текст</ b>» также он упомянул об этом «… Я хочу, чтобы каждый соответствующий HTML-тег работал»

5. Спасибо за отзыв. Я видел это в вопросе. Я не знаю ни одного способа заставить это работать, и сказал об этом в ответе. В вопросе, получившем наибольшее количество голосов, говорится нечто подобное. Если вы знаете способ заставить это работать, пожалуйста, предоставьте его в качестве ответа.

Ответ №5:

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

 input[type=text] {
    font-weight: bold;
}