讀取隱藏欄位屬性時保留HTML 編碼
從編碼的隱藏輸入欄位中擷取值時,JavaScript 通常會在此過程中丟失編碼。當目的是保留字面與號 (&) 字元時,這是有問題的。
解決方案:
為了解決此問題,JavaScript 提供了可以進行 HTML 編碼的方法字串。其中一種方法是:
function htmlEncode(value) { // Create an in-memory textarea element and set its inner text. // Text within a textarea is automatically encoded. return $('<textarea/>').text(value).html(); }
用法:
可以將此函數合併到您的程式碼中,以確保在讀取隱藏欄位時保持HTML編碼:
var encodedValue = $('#hiddenId').attr('value'); var decodedValue = htmlDecode(encodedValue);
或者,jQuery 函式庫提供了一個名為htmlDecode()的方法,可以反轉編碼:
// Decoding the encoded value var decodedValue = decodedValue = $('<div/>').html(encodedValue).text();
範例:
考慮隱藏欄位:
<input>
使用htmlEncode() 函數:
var encodedValue = $('#hiddenId').attr('value'); console.log(encodedValue); // Outputs: chalk & cheese
使用htmlDecode()方法:
var decodedValue = $('<div/>').html(encodedValue).text(); console.log(decodedValue); // Outputs: chalk &cheese
在這兩種情況下,原始 HTML 編碼都會在擷取過程中保留。
以上是從 JavaScript 中的隱藏輸入欄位檢索值時如何保留 HTML 編碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!