#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;"
Комментарии:
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;
}