我正在使用JavaScript从隐藏字段中提取值并将其显示在文本框中。隐藏字段中的值被编码。
例如,
<input id='hiddenId' type='hidden' value='chalk & cheese' />
被拉入
<input type='text' value='chalk & cheese' />
通过一些jQuery从隐藏字段中获取值(在这一点上,我失去了编码):
$('#hiddenId').attr('value')
问题是,当我chalk & cheese
从隐藏字段读取内容时,JavaScript似乎丢失了编码。我不希望值是chalk & cheese
。我希望amp;
保留原义。
是否存在将对字符串进行HTML编码的JavaScript库或jQuery方法?
编辑:
此答案发布很久以前,并且该htmlDecode
功能引入了XSS漏洞。已对其进行了修改,将临时元素从div
改为textarea
减少了XSS机会。但是如今,我鼓励您使用其他anwswer中建议的DOMParser
API 。
我使用以下功能:
function htmlEncode(value){
// Create a in-memory element, set its inner text (which is automatically encoded)
// Then grab the encoded contents back out. The element never exists on the DOM.
return $('<textarea/>').text(value).html();
}
function htmlDecode(value){
return $('<textarea/>').html(value).text();
}
基本上,textarea元素是在内存中创建的,但是永远不会附加到文档中。
在htmlEncode
函数上,我设置的innerText
元素,并检索已编码的innerHTML
;
在htmlDecode
函数上,我设置了innerHTML
元素的值,并innerText
检索到。
问题内容: 我正在使用JavaScript从隐藏字段中提取值并将其显示在文本框中。隐藏字段中的值被编码。 例如, 被拉入 通过一些jQuery从隐藏字段中获取值(在这一点上,我失去了编码): 问题是,当我从隐藏字段读取内容时,JavaScript似乎丢失了编码。我不希望值是。我希望保留原义。 是否存在将对字符串进行HTML编码的JavaScript库或jQuery方法? 问题答案: 编辑: 此答案
我有一个实用工具类,其中我有一个方法,它需要用户名和密码来连接其他URL。我需要将用户名保存在属性文件中,这样我就可以随时更改它。但当我在静态方法中使用它(作为实用程序类)时,问题是它显示为空(即它不能从属性文件中读取)。 但当我在其他控制器中输入这些值时,它们就会到达那里。所以我的问题是如何读取静态字段中的属性值
我想动态设置名称属性 table.component.html 表.component.ts
问题内容: 我有一个用模板渲染的输入字段,如下所示: 呈现为: 现在,假设我想向呈现的输入元素添加一个属性,我该怎么做?还是或者 问题答案:
无法理解为什么此代码会抛出InputMismatchExcure。我试图阅读几行字符串输入和打印出每一行。这是我的代码:
问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE 9以后的所有浏览器) : 现