textarea值的输入与取得的问题!

atealxt 2007-06-14 11:47:08
如果textarea有多行,取得textarea的值:
document.getElementsByTagName("textarea")[0].value;
然后付给变量:
var s = document.getElementsByTagName("textarea")[0].value;
这样是可以的。

但是,把textarea值存入数据库,再拿出来显示,就出问题了!
如果textarea有多行,取得的值是,比如
"ab
cd ",
感觉很怪啊,这样就出错了:
var s = "ab
cd ",

比如用jsp传值,sss为从数据库中取出来的textarea值的变量:
out.print( "var s=\"" + sss + "\";" );
这样就会出上面的错,传值失败。

请问怎样解决呢?用基本的jsp和js语言怎么实现?
比如如何实现把取textarea的输入:
"ab
cd "变为"ab\ncd"。
...全文
810 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
purplecalm 2007-06-14
  • 打赏
  • 举报
回复
Aha. good luck.
atealxt 2007-06-14
  • 打赏
  • 举报
回复
innerHTML啊,我去试试看能不能解决这个问题,貌似可以。

解决后结贴^^
hy_lihuan 2007-06-14
  • 打赏
  • 举报
回复
document.getElementsByTagName("textarea")[0].innerHTML
purplecalm 2007-06-14
  • 打赏
  • 举报
回复
it should be changed into "\r" not "\n"

and you should get the textarea's value by using this method below

document.getElementsByTagName("textarea")[0].innerHTML
mrshelly 2007-06-14
  • 打赏
  • 举报
回复
atealxt 2007-06-14
  • 打赏
  • 举报
回复
结果自己解决了
当textarea多行时,换行自动有个\r\n,只是显示不出来
只要在取值后把其转了就行了

谢谢大家,顶者有分
purplecalm 2007-06-14
  • 打赏
  • 举报
回复
sorry, maybe you can try this.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript">

var node;

function as(){
node=document.getElementById("ta1");
alert(node.value);
node.value="new";
}

</script>
</head>
<body>
<textarea id="ta1" name="ta1" COLS="70" ROWS="8" ></textarea>
<input type="button" value="got the value" onclick="as()">

</body>
</html>
Ischema 2007-06-14
  • 打赏
  • 举报
回复
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<body>
<textarea id="ta1" name="ta1" COLS="70" ROWS="8" ></textarea>
<input type="button" onclick="as()">

<div id="div1">
<script language=javascript>
function as(){
var txt=document.getElementById("ta1").value;
alert(escape(txt));
var div1=document.getElementById("ta2");
ta2.value=txt
}

</script>
</div1>
<textarea id="ta2" name="ta2" COLS="70" ROWS="8" ></textarea>
</body>
</html>

用replace替换就对了,试着输入不同格式的内容,看看上面alert之后会显示什么就明白了
purplecalm 2007-06-14
  • 打赏
  • 举报
回复
no.. the error is occurred by the document.getElementsByTagName("textarea")[0]
purplecalm 2007-06-14
  • 打赏
  • 举报
回复
wait a moment.
atealxt 2007-06-14
  • 打赏
  • 举报
回复
貌似不能?
document.getElementsByTagName("textarea")[0].innerHTML = "asd
dsa";
出错啊

怎样才能附多行值给变量?
或者怎样取得textarea的值为单行?

下面在ff下没用吧?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language=javascript>
function as(){
alert(document.getElementsByTagName("textarea")[0].innerHTML);
}

</script>
</head>
<body>
<textarea id="ta1" name="ta1" COLS="70" ROWS="8" ></textarea>
<input type="button" onclick="as()">

</body>
</html>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧