20
我有特殊字符,如&,A等的問題及其相應的HTML編碼寫入像&
,ä
等的Javascript/jQuery的編碼特殊字符
當他們在輸入字段的值標記中使用,瀏覽器自動解碼,完全沒有問題。
當使用jQuerys VAL()函數,瀏覽器一直沒有機會來評估內容正確
$("button").click(function(){ $("#test").val("&"); });
任何想法?
我有特殊字符,如&,A等的問題及其相應的HTML編碼寫入像&
,ä
等的Javascript/jQuery的編碼特殊字符
當他們在輸入字段的值標記中使用,瀏覽器自動解碼,完全沒有問題。
當使用jQuerys VAL()函數,瀏覽器一直沒有機會來評估內容正確
$("button").click(function(){
$("#test").val("&");
});
任何想法?
嘗試.html()
功能:
$("#test").html("&");
你可以使用這個古老的實體解碼招:
$("button").click(function(){
$("#test").val($("<div>").html("&").text());
});
它創建一個臨時<div>
元素,將其HTML設置爲&
,然後獲取文本值,其值爲&
。
當您使用'val'方法時,實際上沒有進行編碼或解碼。如果在字段中有初始值,則在解析HTML時解碼,而不是讀取值時解碼。爲什麼您首先需要在這裏使用HTML編碼值? – Guffa
因爲我想動態地在輸入字段中輸入數據(基於下拉選擇框,選擇數據集的位置)。這裏插入的數據必須是XSS安全的。 – 1jr
你做錯了。使用一些任意的編碼不會使代碼更安全,但更少,您應該正確地編碼該值以便如何使用它。如果您將文本置於字符串文本中,則應將其編碼爲此目的,而不是HTML編碼。 – Guffa