2010-01-17 48 views
2

如果您希望使用包含双引号(“), ”的字符串预填充html文本字段,则需要对其进行html编码,如&“;不幸的是,字符串'”abc “‘编码为‘& QUOT; ABC & QUOT;’与形式向服务器提交,是通过从字符串服务器不可区分‘& QUOT; ABC & QUOT;’的字面输入在预先填充的html字段中的引号

使用’来分隔文本字段值属性不是一个可用的选项,因为输入字段正在从javascript填充。转义“with \或\ \”不起作用(Firefox); JavaScript允许那个逃跑,但是HTML渲染器只是看到\和“不同。

是否有包括一种变通方法”中预填充的HTML领域,同时允许符合HTML实体名称是原始字符串的输入?

回答

2

(但无论你使用什么语言/框架,都应该透明地将其解码为​​)。

如果你想预先填写一个文本框​​那么你会使用"abc"value属性。这也将作为%22abc%22提交给服务器。

如果您在文本框中键入"abc",它将作为%26quot%3Babc%26quot%3B(但是您使用的任何语言/框架应将其透明地解码回"abc")提交给服务器。

如果你想预填充"abc"一个文本框,然后你会使用"abc"value属性。这也将作为%26quot%3Babc%26quot%3B提交给服务器。

+0

非常丰富,正是我需要知道的。 – mikato 2012-06-19 16:03:34

2

比方说,你有字符串""Hello World"",你想把它放到HTML文本输入中。为此,您需要转义所有HTML实体。它应该是这样的:

<input type="text" value="&quot;&amp;quot;Hello World&amp;quot;&quot;" />

提交后,如果您键入​​到一个文本框,将提交到服务器%22abc%22服务器端将得到串"&quot;Hello World&quot;"