显示输入的用户内容

时间:2012-12-27 15:42:40

标签: javascript escaping

当用户在文本框中键入某个值时,它应按原样显示在 td 中。

这是我尝试使用 div

的代码
<input type="text" name="userStr" id="userStr" onKeyUp="processValue()"/>
<div id="disp">
</div>
<script type="text/javascript" >
function processValue() {

var userval = document.getElementById("userStr").value;
//alert('userval'+userval);
document.getElementById("disp").innerHTML = userval;
}

我输入了值&amp; lt&amp; gt&amp;#40&amp;#41&amp;#35&amp;#38,但它显示为&lt;&gt; ()#&amp; 而不是原始字符串(&amp; lt&amp; gt&amp;#40&amp;#41&amp;#35&amp;#38)

执行此操作的标准方式是什么。

虽然我输入的 stackoverflow 显示的完全相同,但我现在会查看来源,但会向您寻求见解。

感谢。

1 个答案:

答案 0 :(得分:0)

尝试:

document.getElementById("disp").innerHTML = userval.replace(/&/g, '&amp;').replace(/</g, '&lt;');

或者,您可以设置元素文本,但您必须处理浏览器变体。