我正在制作一个笔记记录应用程序,希望能够编辑一个笔记,然后在数据库中更新它。这是HTML:
<div id="note">This is a note.</div>
<a href=\"#\" class='note_edit note_functions' id='texteditbutton' onclick='note_edit()'>Edit Note</a>
这是javascript:
function note_edit(){
var textbox = document.createElement("textarea");
var adjust = document.getElementById("note").innerHTML;
textbox.setAttribute("name","note_edit");
textbox.setAttribute("value",adjust);
document.getElementById("note").innerHTML=textbox;
}
我是javascript的新手,但它不起作用。单击该链接只会将#添加到网址。我该怎么办?
答案 0 :(得分:2)
它是document.getElementById
,而不是document.getElementByID
考虑使用像Firebug这样的调试器来捕获这样的错误。
另外,为什么要将文本框的值设置为note元素本身?
答案 1 :(得分:0)
您的代码包含拼写错误:
var adjust = document.getElementByID("note");
应该是
var adjust = document.getElementById("note");
如果这不起作用,首先验证函数是否被调用 - 在函数顶部添加警报:
alert('Edit Note Function Was Called.');
编辑: 从你最后的评论来看,它听起来几乎像你想要的那样。但是看看你的脚本,你得到一个元素(称为'note')并将其分配给变量adjust。我认为想要做的是将adjust调整到note元素的值,而不是DOM元素iteself,不是吗?
var adjust = document.getElementById("note").innerHTML;
因为它是一个div,你需要它的innerHTML。
编辑2:
document.getElementById("note").innerHTML = textbox;
应该是
document.getElementById("note").innerHTML = textbox.value;