求一段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里,哎思路乱了,都不知道我在说什么了。 展开
不好意思我不太懂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里,哎思路乱了,都不知道我在说什么了。 展开
展开全部
我明白你的需求了..改一下答案...
//定义函数,把字符串转化为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);
}
很坑啊...百度把我写的给转化了....
展开全部
在点击 提交 按钮的时候,需要处理:
1、获得 <textarea> 中输入的数据 var value = document.getElementById("textareaID").value;
2、然后将这些数据转义处理:value = escape(value);
3、最后将你处理过的 value 进行提交。
1、获得 <textarea> 中输入的数据 var value = document.getElementById("textareaID").value;
2、然后将这些数据转义处理:value = escape(value);
3、最后将你处理过的 value 进行提交。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过滤<>,将 < 替换成 < ,将 > 替换成 >。
前台和后台都要加替换的代码。
前台和后台都要加替换的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 escape函数即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询