求一段javascript代码,验证<textarea>框里输入的的js不会执行,而是发布出来。

就是很普通的一个<textarea>输入框下面一个提交按钮,不过发现<textarea>里输入代码再提交会执行而不会显示出来。会的麻烦帮忙解决下不好意思我不太懂JS,思路... 就是很普通的一个<textarea>输入框下面一个提交按钮,不过发现<textarea>里输入代码再提交会执行而不会显示出来。会的麻烦帮忙解决下
不好意思我不太懂JS,思路是不是乱了 ,追问超过字数限制了。麻烦帮看下

<script language="javascript">
function run()
{
var value = document.getElementById("a").value;
var Tb = document.getElementById("b");
value = escape(value)
alert(escape(value));
alert(unescape(escape(value)));
Tb.innerHTML=unescape(escape(value));
}
</script>

<form name=form1>
<input type="text" name="input1" size=20 value="12320%456" id="a">
<input type=button name=click1 value="show escape value" onclick="run()">
<div style="width:200px;height:200px;border:1px solid #ccc" id="b"></div>
</form>

是这个意思么,输入"<script>"。。DIV里的结果是加密了的乱码,改成Tb.innerHTML=unescape(value);的话,能弹出来,但是不能输出到DIV里,哎思路乱了,都不知道我在说什么了。
展开
 我来答
JackyCho
2012-05-30 · TA获得超过311个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:248万
展开全部

我明白你的需求了..改一下答案...

//定义函数,把字符串转化为html实体.

function htmlspecialchars(string){

string = string.toString();

string = string.replace(/</g, '<').replace(/>/g, '>').replace(/'/g, ''').replace(/"/g, '"');

return string;

}

修改后run

function run()

{

var value = document.getElementById("a").value;

var Tb = document.getElementById("b");

Tb.innerHTML=htmlspecialchars(value);

很坑啊...百度把我写的给转化了....

www0574178com
2012-05-30 · TA获得超过130个赞
知道答主
回答量:199
采纳率:0%
帮助的人:145万
展开全部
在点击 提交 按钮的时候,需要处理:
1、获得 <textarea> 中输入的数据 var value = document.getElementById("textareaID").value;
2、然后将这些数据转义处理:value = escape(value);
3、最后将你处理过的 value 进行提交。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_达文西_
2012-05-30 · 超过34用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:99.9万
展开全部
过滤<>,将 < 替换成 &lt; ,将 > 替换成 &gt;。
前台和后台都要加替换的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuxing801
2012-05-30 · TA获得超过149个赞
知道小有建树答主
回答量:258
采纳率:100%
帮助的人:128万
展开全部
用 escape函数即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式