喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

上一主题 下一主题
 27  1/3  1  2  3  > 
     
标题: [原创] 编写快速,安全的PHP代码---动态表单的使用  
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2268
帖子 3057
金钱 2268 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
编写快速,安全的PHP代码---动态表单的使用

动态表单的效果如blog.163.com,文字双击就变成了输入框,然后保存又变成了文字,就有点象应用软件的功能了。外国有个DHTML的库,里面就有这个功能,但它那个js框架太庞大了,
以前抽时间想分离出来,一直没成功,原来也不算很复杂,今天有空就写了段,测试成功。以下是代码:

<script>
function $(s){//返回对象
        return document.getElementById(s);
}
function on_it(obj){
        obj.style.backgroundColor = "#98AB6F";
        $('content').innerHTML="鼠标移在上面";
}
function move_it(obj){
        obj.style.backgroundColor = "#ffffff";
        $('content').innerHTML="鼠标从上面移走";
}
function click_it(obj){
        obj.style.backgroundColor = "red";
        $('content').innerHTML="单击";
}
function dbclick_it(obj){
        var obj_id="f"+obj.id;
        var str='<input id="' + obj_id + '" type="text" name="textfield" value="' + obj.innerHTML+ '" /><input name="b1" type="button" id="b1" value="修改" onclick=edit("'+obj.id+'") /><input name="b2" type="button" id="b2" value="取消" onclick=del("'+obj.innerHTML+'","' + obj.id + '")  />';
        obj.innerHTML=str;
}
function edit(v){
        $(v).innerHTML=$("f"+v).value;
}
function del(s,id){
        $(id).innerHTML=s;
}
</script>
<div id="x" onmouseover="on_it(this)" onmouseout="move_it(this)" onclick="click_it(this)" onDblClick="dbclick_it(this)">xxx</div>
<div id="x2" onmouseover="on_it(this)" onmouseout="move_it(this)" onclick="click_it(this)" onDblClick="dbclick_it(this)">xxx</div>
<div id="x3" onmouseover="on_it(this)" onmouseout="move_it(this)" onclick="click_it(this)" onDblClick="dbclick_it(this)">xxx</div>
<div id="content">123</div>
javascript很简单,相信大家一看就能看懂的,具体思路,核心处理方式都在程序里,大家自行研究研究,写的不好,多指教了。

表单这样处理,用户体验很爽,根本感觉不到任何延迟,最关键的还是服务器压力很小,后台和php处理提交返回的也是很短的字符,资源占用很小。
其他表单的情况大致一致,就没罗列出来,有什么意见请和我交流。




学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-9-11 11:26 PM#1
查看资料  Blog  发短消息  顶部
 
菜鸟也要有理想
中级会员
Rank: 3Rank: 3
一般会员



UID 65342
精华 0
积分 439
帖子 426
金钱 439 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-8-1
状态 离线
[推荐阅读] 一个正则表达式的问题
怎么post
2006-9-12 01:48 AM#2
查看资料  发短消息  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4933
帖子 1699
金钱 4923 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] Zend Optimizer只能进行安装吗?
不错
严重支持




在场外支持奥运.....
2006-9-12 02:51 AM#3
查看资料  访问主页  发短消息  QQ  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] phpmyadmin从本地向服务器导入数据提示You didn't enter any data to import!
非常好的一段程序!! 在onDblClick状态下激活dbclick_it时才有input,更改时就可用edit函数。可以修改edit函数作为传值到服务器。所以,就不需要在此网页用到post。
不过发现了个小bug,如果用户双击编辑时,不点修改也不点取消,直接在input再次双击……




五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-9-12 04:04 AM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
smoon
中级会员
Rank: 3Rank: 3
中级会员



UID 31061
精华 0
积分 323
帖子 321
金钱 323 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-9-11
状态 离线
[推荐阅读] 求助,echo输出带有;号应该怎样操作?
不错是不错,不过离动态表单似乎还有点距离!



激情小电影:H小说大本营
http://www.goldthe.com
2006-9-12 09:01 AM#5
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2268
帖子 3057
金钱 2268 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 空间域名服务器等服务 全国最低价格火暴销售
兄弟门继续完善啊。我的js也是初学,菜的很,大家弄个强悍点的出来啊。



学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-9-12 09:35 AM#6
查看资料  Blog  发短消息  顶部
 
蟋蟀
版主
Rank: 7Rank: 7Rank: 7
村里巡逻队长


UID 67242
精华 0
积分 2015
帖子 1748
金钱 2015 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-12-17
来自 福建
状态 离线
[推荐阅读] 诚聘php程序员(深圳)
unction dbclick_it(obj){
        var obj_id="f"+obj.id;
        var str='<input id="' + obj_id + '" type="text" name="textfield" value="' + obj.innerHTML+ '" /><input name="b1" type="button" id="b1" value="修改" onclick=edit("'+obj.id+'") /><input name="b2" type="button" id="b2" value="取消" onclick=del("'+obj.innerHTML+'","' + obj.id + '")  />';
        obj.innerHTML=str;
}
这地方最好用
var src  = document.createElement('INPUT');
      src.type  = "text";
      src.value = obj.innerHTML;
      src.onkeypress = textKeypress; //判断当按下enter 13的时候利用ajax组件修改数句
      src.onblur = textRecover;   //触发onblur事件时候恢复不做修改。




吉林php群
27089230
2006-9-12 09:44 AM#7
查看资料  Blog  发短消息  QQ  顶部
 
1128sky7
中级会员
Rank: 3Rank: 3
初级会员


UID 69010
精华 0
积分 228
帖子 289
金钱 219 喜悦币
威望 0
人脉 9
阅读权限 30
注册 2006-3-2
来自 吉林&黑龙江&北京
状态 离线
[推荐阅读] 找人做项目
强!
向师傅们学习!
给师傅们顶帖!




走PHP的路,任**P说去吧!
2006-9-12 10:08 AM#8
查看资料  发短消息  顶部
 
fcicq
新手上路
Rank: 1
初级会员



UID 24467
精华 0
积分 21
帖子 587
金钱 20 喜悦币
威望 0
人脉 1
阅读权限 10
注册 2003-11-8
来自 fcicq.net
状态 离线
[推荐阅读] 关于下载的功能
X.innerHTML......
路过路过....

楼主注意偶文章本期不发了.参加下期吧.





2006-9-12 07:06 PM#9
查看资料  访问主页  Blog  发短消息  顶部
 
Matrix@Two_Max (深海)
金牌会员
Rank: 6Rank: 6
时尚MAX



UID 27890
精华 0
积分 1189
帖子 1189
金钱 1189 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2004-4-17
状态 离线
[推荐阅读] ppwind新版本带新风格div+css
如果判断input失去焦点直接给ajax提交修改,岂不更好?
2006-9-12 07:57 PM#10
查看资料  访问主页  发短消息  顶部
 27  1/3  1  2  3  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.885205 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP