innerHTML不能输出html标签?

wzwen 2010-01-17 05:42:58
我有一个多行文本框,里面默认是有值的。


<textarea name="w_List" rows="14" cols="70" onBlur="ChkList(this.value)">
名称1,密码1
名称2,密码2
名称3,密码3
</textarea>


现在想,如果文本框内容为空的话,仍然显示默认的三行文字。

问题来了,ChkList()方法中

function ChkList()
{
if(document.getElementById("w_List").value=="")
{
document.getElementById("w_List").innerHTML = "名称1,密码1<br>名称2,密码2<br>名称3,密码3";
}

}


innerHTML的值中间不能包含“<br>”标签,一运行就报错:未知的运行错误。

请问有没有办法解决?
...全文
718 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucklykatly 2011-05-24
  • 打赏
  • 举报
回复
学习了
duwa789 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wzwen 的回复:]
引用 4 楼 sohighthesky 的回复:
JScript codedocument.getElementById("w_List").value="名称1,密码1 <br>名称2,密码2 <br>名称3,密码3";


这个直接输出 <br>了
[/Quote]

<br> -> \n
duwa789 2010-01-18
  • 打赏
  • 举报
回复
Firefox + Safari
duwa789 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wzwen 的回复:]
\n我这IE8不行

你们在机上测试可以?
[/Quote]

是的,IE8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>textarea</title>

<script language="javascript">
function ChkList() {
if (document.getElementById("w_List").value == "") {
document.getElementById("w_List").value = "名称1,密码1\n名称2,密码2,名称3,密码3";
}
}

</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<textarea id="w_List" name="w_List" rows="14" cols="70"></textarea>
</div>
<input type="button" value="Click" onclick="ChkList();" />
</form>
</body>
</html>
clerkwing 2010-01-18
  • 打赏
  • 举报
回复
学习了,这东西要做到都兼容比较麻烦……
h155290688 2010-01-18
  • 打赏
  • 举报
回复
浏览器的兼容问题哦
浴火_凤凰 2010-01-18
  • 打赏
  • 举报
回复
2楼正解
wzwen 2010-01-18
  • 打赏
  • 举报
回复
\n我这IE8不行

你们在机上测试可以?
lyboyc 2010-01-18
  • 打赏
  • 举报
回复
<br>-->\r\n 或\n
Inpool 2010-01-17
  • 打赏
  • 举报
回复
2楼正解
wzwen 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sohighthesky 的回复:]
JScript codedocument.getElementById("w_List").value="名称1,密码1<br>名称2,密码2<br>名称3,密码3";
[/Quote]

这个直接输出<br>了
wzwen 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 click_me 的回复:]
HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title> new document</?-
[/Quote]

也不行啊,

if(obj.value.trim().length == 0)/*提示'value'为空或不是对象*/
wzwen 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ltnrain 的回复:]
HTML code<textareaname="w_List" rows="14" cols="70" onBlur="ChkList(this.value)"></textarea><scripttype="text/javascript">function ChkList() {if (document.getElementById("w_List").value=="") {
?-
[/Quote]

不行啊。
duwa789 2010-01-17
  • 打赏
  • 举报
回复
textarea没有innerHTML吧。
sohighthesky 2010-01-17
  • 打赏
  • 举报
回复
document.getElementById("w_List").value= "名称1,密码1<br>名称2,密码2<br>名称3,密码3";
Click_Me 2010-01-17
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
<textarea name="w_List" id="w_List" rows="14" cols="70" onblur="ChkList(this)">
名称1,密码1
名称2,密码2
名称3,密码3
</textarea>
<script type="text/javascript">
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,'');
}
function ChkList(obj)
{
if(obj.value.trim().length == 0)
{
obj.value = "名称1,密码1\r\n名称2,密码2\r\n名称3,密码3";
}

}
</script>
</body>
</html>

草根醉秋意 2010-01-17
  • 打赏
  • 举报
回复

<textarea name="w_List" rows="14" cols="70" onBlur="ChkList(this.value)">
</textarea>


<script type="text/javascript">

function ChkList() {
if (document.getElementById("w_List").value == "") {
document.getElementById("w_List").value = "名称1,密码1\n名称2,密码2\n名称3,密码3";
}
}

</script>
wzwen 2010-01-17
  • 打赏
  • 举报
回复
innerHTML替换成outnerHTML后,多行文本框就变没了,直接在页面上输出文本

我要求,输出的文本必须在文本框内。

87,907

社区成员

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

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