我有一个按钮,将带有日期的html标记插入到从数据库查询中填充的textarea中。如果按下按钮而不更改文本它可以正常工作,但如果用户要更改文本区域中的文本然后按下按钮,则不会插入代码。我不明白为什么。这是按下按钮时触发的功能:
function addtxt(input) {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var obj=document.getElementById(input);
today = mm+'/'+dd+'/'+yyyy;
var txt=document.createTextNode(" <font color=\"#FF0000\">UPDATE " +today+ ": </font>");
obj.appendChild(txt);
调用此功能的按钮:
<input onclick="addtxt('textarea1')" type="button" value="Insert Update Text" id="button1">
感谢您提供给我的任何帮助!
答案 0 :(得分:1)
答案 1 :(得分:0)
如果在textarea中输入内容之前单击按钮,则您创建的txt
文本节点将附加到该textarea元素,而today
将替换为实际日期,但是html标签将保持不变。为什么?我想也许textarea旨在只显示文本。如果在输入内容后单击按钮,即使清除了textarea,addtxt
功能也不会起作用。为什么?好吧,如果你使用Chrome的开发者工具查看源代码,你会发现原因。
以下是在线演示:http://jsbin.com/litov/1/
首先在该textarea中输入内容,然后清除它。之后,addtxt
函数不起作用。你只需点击它。
其次,打开Chrome的开发者工具,检查textarea元素,您会发现实际附加的文本节点。