这个功能大家一定都见过吧?下面是我写的一个函数,功能比较全吧。
提示:您可以先修改部分代码再运行
函数有五个参数:
obj 要执行修改的DOM对象,
strNum 修改后,允许保留的最大值字符数,中文算两个字符,类型为数字,
oEvent 执行修改后的回调函数,可以写成字符串形式,或者function(){}形式,例如"alert('我是阿当');",或者function(){alert("我是阿当");}
oWidth 输入框的长度,类型为数字。如果不设置,则使用默认值,
oneLine 输入框是否单行,类型为布尔值,为true表示单行,false表示多行。如果不设置,默认为多行显示,
blurSave 设置保存形式,类型为布尔值,如果为true表示输入框失去焦点即可保存,为false表示点击保存按钮保存内容。
因为一般情况下,点击即可修改内容是通过ajax方式提交的,那么我们需要得到修改后的内容,在oEvent参数中发送到服务器端。那么我们如何得到修改后的值呢?
<p onclick="var obj=this; changeContent(this,20,'alert(obj.innerHTML)','',true,true)">
我是阿当 ^0^
</p>
我们只要在调用changeContent()前,写下var obj=this,就可以在oEvent位置通过obj.innerHTML得到修改后的值。我们可以在这里写下<p onclick="var obj=this; changeContent(this,20,'sendAjax(obj.innerHTML)','',true,true)">).
如果要将行为分离出来也非常容易,只要写成下面的形式:
var obj=document.getElementById("XXX");
changeContent(obj,20,'alert(obj.innerHTML)','',true,true);
第一次发自己的函数,希望大家能够喜欢。有bug请留言,谢谢。
[
本帖最后由 cly84920 于 2008-4-2 11:55 编辑 ]