用DIV就可以实现
<html>
<head>
<title>超链接替换文本框</title>
<script language="javascript">
//测试内容文本
var TestBody="测试内容文本要长,很长测试文本很长特别的长非常多的字";
//初始化要显示的文本
function Page_Load()
{
var LnkTst=document.getElementById("LinkTest");//定位到超链接
LimitLinkString(TestBody);
LnkTst.title=TestBody;//将文本赋值给超链接title属性
}
//文本框显示代码
function ShowTextBox()
{
var LnkTst=document.getElementById("LinkTest");//定位到超链接
this.TextInput.value=LnkTst.title;//将超链接文本赋值给为本框
this.LinkDiv.style.display="none";//隐藏超链接
this.TextDiv.style.display="";//显示文本框
}
//超链接显示代码
function ShowLink()
{
var LnkTst=document.getElementById("LinkTest");//定位到超链接
var InpStr=this.TextInput.value;//获取文本框输入的内容
//将输入内容赋值给超链接
LnkTst.title=InpStr;
LimitLinkString(InpStr);
this.LinkDiv.style.display="";//显示超链接
this.TextDiv.style.display="none";//隐藏文本框
}
//限制超链接显示文字长度
function LimitLinkString(LnkStr)
{
var LnkTst=document.getElementById("LinkTest");//定位到超链接
//超过15个字截取为15个字未超过则全部赋值过去
if(LnkStr.length>15)
LnkTst.innerHTML=LnkStr.substr(0,15)+"……";
else
LnkTst.innerHTML=LnkStr;
}
</script>
</head>
<body onLoad="Page_Load();" >
<div id="LinkDiv" ><a id="LinkTest" title="" href="javascript:ShowTextBox();"></a></div>
<div id="TextDiv" style="display:none" ><input type="text" onblur="ShowLink();" name="TextInput" ></div>
</body>
</html>
[[it] 本帖最后由 yms123 于 2009-7-24 14:34 编辑 [/it]]