请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 2584|回复: 11

发个点击即可修改内容功能函数 [复制链接]

cly84920 楼主

当当当

中级会员

帖子
209
体力
286
威望
4
发表于 2008-4-2 11:50:55 |显示全部楼层
这个功能大家一定都见过吧?下面是我写的一个函数,功能比较全吧。

 提示:您可以先修改部分代码再运行





函数有五个参数:
    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 编辑 ]
西部数码顶级域名注册商39元抢注!

蓝蓝的神仙

钻石会员

帖子
1052
体力
5994
威望
3
居住地
上海市 闵行区
发表于 2008-4-2 13:03:36 |显示全部楼层
沙发,支持一下
Welcome to MrZhang.me
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

蓝蓝的神仙

钻石会员

帖子
1052
体力
5994
威望
3
居住地
上海市 闵行区
发表于 2008-4-2 14:00:54 |显示全部楼层

 提示:您可以先修改部分代码再运行

Welcome to MrZhang.me

使用道具 举报

蓝蓝的神仙

钻石会员

帖子
1052
体力
5994
威望
3
居住地
上海市 闵行区
发表于 2008-4-2 14:03:27 |显示全部楼层
上面的代码我百度来的,我不明白怎么把数据保存到数据库中,楼下的接
Welcome to MrZhang.me

使用道具 举报

oklrc 
帖子
12
体力
25
威望
0
发表于 2008-4-2 19:06:37 |显示全部楼层
回楼上的,上面那个代码是用ajax来实现数据保存的!
PHP程序

使用道具 举报

笨阿哼

高级会员

帖子
166
体力
669
威望
0
居住地
河北省 邢台市
发表于 2008-4-2 19:13:40 |显示全部楼层
不错 留个记号

使用道具 举报

mxclion

银牌会员 手机认证 

帖子
825
体力
1488
威望
0
居住地
河南省 洛阳市
发表于 2008-4-3 01:45:08 |显示全部楼层
没事水一把...大家无视我就是了

 提示:您可以先修改部分代码再运行


[ 本帖最后由 MarVell 于 2008-4-3 01:54 编辑 ]
不在放荡中变坏,就在沉默中变态...

使用道具 举报

cly84920 楼主

当当当

中级会员

帖子
209
体力
286
威望
4
发表于 2008-4-3 09:51:58 |显示全部楼层
楼上的仁兄的确有一种新的思路,将input的边框色设为白色,而造成普通文本的假象。可是,如果是要使用带有保存按钮,而非失去焦点时保存又该怎么办呢?
阿当

使用道具 举报

帖子
75
体力
147
威望
0
居住地
辽宁省 大连市
发表于 2008-4-3 09:54:38 |显示全部楼层
7楼的有意思
蓝色理想……

使用道具 举报

赵勇

银牌会员 手机认证 

帖子
4121
体力
2375
威望
2
居住地
广东省 深圳市
发表于 2008-4-3 10:21:08 |显示全部楼层
标记一下 还没想到该应用到啥地方去好

使用道具 举报

skybot 

size

钻石会员 手机认证 

帖子
3236
体力
12466
威望
7
发表于 2008-4-3 10:32:17 |显示全部楼层

回复 #7 MarVell 的帖子

对于七楼的来说
用很少的代码就实现了功能 不错啊
window.onload=focus; 最好不要这样用.因为一个window只能有一个onload方法,多了就不管用了
http://www.qlili.com 个人站帮点啊

使用道具 举报

mxclion

银牌会员 手机认证 

帖子
825
体力
1488
威望
0
居住地
河南省 洛阳市
发表于 2008-4-3 13:52:02 |显示全部楼层

回复 #11 skybot 的帖子

对于这个问题..用window.onload引用多个函数的话这样用:

window.onload = function() {
        firstFuntion();
        secondFunction();
}

这样.也做到了行为分离
不在放荡中变坏,就在沉默中变态...

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 07:42 , Processed in 0.130148 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部