【问题标题】:HTML in the input field value输入字段值中的 HTML
【发布时间】:2011-04-28 19:20:44
【问题描述】:

如何让 HTML 在输入字段的值中起作用?如果在值中包含 HTML,它将显示为纯文本。有没有办法做这样的事情?

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

所以输出是:

测试

而不是

&lt;b&gt;tekst&lt;/b&gt;

我认为这是一个不好的例子……我希望每个适当的 HTML 标记都能正常工作。如果我想包含图像,图像会出现在输入中,如果我想添加标签......文本应该显示为链接的链接。

【问题讨论】:

  • 为什么不对输入input{ font-weight: bold; }设置这样的样式
  • 不不不,我举了个例子,我把每一种html都给了,
  • 您是否正在尝试创建一个所见即所得的编辑器?喜欢ckeditor.com
  • 没有,但我需要看看有没有办法做到这一点

标签: html


【解决方案1】:

从您的问题中我不确定您是要尝试使值包含 HTML,还是要将 HTML 应用于输入中的某些内容。

如果您希望能够将值设置为某些 HTML,例如 &lt;input value="&lt;b&gt;Some HTML&lt;/b&gt;"&gt;,该值将实际显示 HTML,您需要对 HTML 括号进行编码,例如 &lt;input value="&amp;lt;b&amp;gt;Some text&amp;lt;b/&amp;gt;"&gt;。在大多数脚本语言(例如 PHP 中的 htmlentities())中,有一些函数可以自动为您执行此操作。

如果您想将 HTML 应用于输入值,简短的回答是……您不能。如果你想在那里格式化,你可以使用 HTML5 中的 contentEditable 属性,它可以让你就地编辑(想想 Flickr 标题)。

如果您只想设置标准输入字段的样式,则可以像其他答案建议的那样使用 CSS。

【讨论】:

  • 你在一个完全不相关的问题上挽救了我的生命,正在网上搜索如何将 html 嵌入到一个字符串中,我既想成为一个 html 元素,又想成为一个文本 :)
  • Htmlentities 完成这项工作
【解决方案2】:

您必须对值中所需的所有 HTML 进行编码并将其粘贴到输入值中。

如果您对此进行编码:

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

看起来像这样:

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

输入:

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

Online Html Encoder/Decoder

【讨论】:

  • 这个编码器非常有用。如果有人需要将 HTML 代码作为字段值粘贴到 Visual Studio 中的 HTML 文件中,首先您必须对该字符串进行编码,然后当您将其粘贴到文件中时,Visual Studio 会询问您是否要转义此文本。当你拒绝逃跑时,一切都很好
【解决方案3】:

您可以尝试从您的后值中解码您的实体。 在 PHP 中,您可以使用 html_entity_decode();

执行此操作

【讨论】:

    【解决方案4】:

    我认为您不能将 HTML 放在文本字段中并将其解释为 HTML 而不是字段中的文本。

    要完成您想要的,您必须使用 CSS。如您在示例中引用的将文本加粗的内嵌示例:

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

    【讨论】:

    • @Danish:我一直想知道为什么这个答案在被遗忘了 6 年后最近得到了一些反对意见。从这个问题来看,(至少对我而言——我刚刚意识到我试图澄清它)并不清楚 OP 想要什么。如果您有真实的反馈,请提供。不幸的是,“真的!!什么??!”没有帮助。
    • 你很生气我会删除我烦人的评论对不起!
    • @Danish:不,我没有生气。我真的很想了解为什么我的回答突然不受欢迎。
    • @GreebMatt 所以到目前为止我所理解的问题是,OP是将html保存为输入标签中的值。他的例子可能会让你认为他想要字体粗细 bolf,但他的意思是将 html 保存在像这样 'tekst' 的输入中,他还提到了这个“......我想要每个合适的HTML 标记工作”
    • 感谢您的反馈。我在问题中看到了这一点。我不知道有什么方法可以使它起作用,并在答案中这么说。投票最多的问题说了类似的话。如果您知道使其工作的方法,请提供它作为答案。
    【解决方案5】:

    试试 CSS:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多