读取隐藏字段属性时保留 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中文网其他相关文章!