2010-01-17 67 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;"