Javascript 单击时将文本输入文本框

Javascript 单击时将文本输入文本框,javascript,html,Javascript,Html,我想创建一个链接,如果用户按下编辑链接,文本将变成一个文本框,其中的信息仍然在用户输入的内容中?我有以下代码: (当我按下编辑按钮时,“此处的文本”应该变成一个文本框,但没有人能帮助通知我的代码哪里出错:)如果能提供帮助,我们将不胜感激 <html> <head> <title>Span to Text Box - Demo</title> <style type="text/css"> .replace { display:non

我想创建一个链接,如果用户按下编辑链接,文本将变成一个文本框,其中的信息仍然在用户输入的内容中?我有以下代码: (当我按下编辑按钮时,“此处的文本”应该变成一个文本框,但没有人能帮助通知我的代码哪里出错:)如果能提供帮助,我们将不胜感激

<html>
<head>
<title>Span to Text Box - Demo</title>
<style type="text/css">
.replace {
  display:none;
}
</style>
<script type="text/javascript">
  function exchange(id){
    var ie=document.all&&!window.opera? document.all : 0
    var frmObj=ie? ie[id] : document.getElementById(id)
    var toObj=ie? ie[id+'b'] : document.getElementById(id+'b')
    toObj.style.width=frmObj.offsetWidth+7+'px'
    frmObj.style.display='none';
    toObj.style.display='inline';
    toObj.value=frmObj.innerHTML
  }
</script>
</head>
<body>
<p class="edit" onclick="exchange(item)">Edit</p><Input id="item" class="replace" type="text" value="">
<span id="item" >Text here</span>
</body>
</html>

范围到文本框-演示
.替换{
显示:无;
}
功能交换(id){
var ie=document.all&&!window.opera?document.all:0
var frmObj=ie?ie[id]:document.getElementById(id)
var toObj=ie?ie[id+'b']:document.getElementById(id+'b')
toObj.style.width=frmObj.offsetWidth+7+'px'
frmObj.style.display='none';
toObj.style.display='inline';
toObj.value=frmObj.innerHTML
}
编辑

此处文本
您的
具有相同的
id
您正在将一个id分配给两个标记,根据您的代码,我假设输入标记的id应该是
itemb

,如果我重命名输入,它是否工作,因为我只是想让它在用户按下“编辑这里的文本”时变成一个文本框,而“这里的文本”仍然在那里,这样他们就可以编辑了?在我的网站上,我有从数据库发送的文本,可以在帖子中显示,为了让用户编辑帖子,有一个编辑按钮,一旦用户选择了文本,就会变成一个文本框,因此,文本到文本框中,他们可以在其中对文本进行更改,一旦他们进行了更改,将有一个更新按钮,该按钮将从他们刚刚输入到数据库的内容更新文本。找不到id为
itemb
的标记。这段代码当然无法正常工作,我如何更改它,使其在单击“编辑”时,而不是文本本身。对不起,现在就做,谢谢你的帮助:)