解除繁琐工作:基于AJAX的表单提交、服务端验证、错误显示的实现(附图和下载)
时间:2008-01-16
来源:互联网
遭此大劫后,我奋发图强,呕心沥血,把自己在PHP学习过程中,实现的基于AJAX的表单提交、服务端验证、错误显示的这包代码继续规范和整理,再次贴出来并打包下载,仅求抛砖引玉,共同进步。
我觉得在日常开发中,最繁琐的莫过于表单验证和SQL了,在以前ASP开发经历中,我是深有体会啊。所以从学习PHP开始,我就把表单验证列入第一个学习阶段,主要解决下面4个问题:
1、表单提交,
2、服务器端验证并将验证结果返回给客户端,客户端验证就免了,两端都要写实在麻烦。
3、客户端友好显示(不要嘣的一声的alert和返回上一页)用户输入错误的提示消息 ,
4、服务器已经成功处理的提示消息。
现在初见学习成果,不敢独享,还是先用外表吸引你的眼球吧,先帖上来(图抓的偏长,防止这该死的水印):
初始状态:
AJAX ing(进行时)...
错误提示:
错误提示:
错误提示:
服务已经成功处理:
源代码,带示例和不规范的注释,可直接运行:

包里的文件解压到PHP执行环境就可以运行,简单的说下各个文件的功能就是了:
test.html --------测试文件,含一FORM
test.php --------测试文件,接收FORM
input.php --------验证用户输入的类,用JOSN格式返回错误消息,用成员变量保存已经验证了数据(表单字段名为成员变量名,输入的值为成员变量的值)
jquery.js --------jquery资源库,本程序依赖
jquery.form.js -----jquery的form插件,本程序依赖
jquery.asv.js -----这个就是实现客户端显示消息的JAVASCRIPT了,基于jquery写的,只有三个函数,最重要的是asv()
form.css --------这个不用多说,几种不同情况下消息的显示样式
images ---------............
到此了,不早了,再次呼吁:望抛砖引玉。
[ 本帖最后由 neuron 于 2008-1-16 03:04 编辑 ]
作者: neuron 发布时间: 2008-01-16
作者: PHPChina 发布时间: 2008-01-16
我也是从ASP转过来
刚开始学习PHP没多长时间
现正学smarty
作者: adleyliu 发布时间: 2008-01-16

作者: liuzp 发布时间: 2008-01-16
PHP代码:
$(function(){asv('#asv_test','asv_init','asv_error','asv_passed');
});
[ 本帖最后由 chyoqin 于 2008-1-16 10:50 编辑 ]
作者: chyoqin 发布时间: 2008-01-16
作者: chyoqin 发布时间: 2008-01-16
引用:
原帖由 chyoqin 于 2008-1-16 10:34 发表请教一下,test.html表单提交怎么触发ajax的呢?看不明白下面的代码,请注释一下,谢谢!
$(function(){
asv('#asv_test','asv_init','asv_error','asv_passed');
});
另外jquery.js里的代码有什么用的呢?固 ...
PHP代码:
$(id).submit(function(){..............
});
jQuery Form Plugin:
http://www.malsup.com/jquery/form/
作者: chyoqin 发布时间: 2008-01-16
引用:
原帖由 chyoqin 于 2008-1-16 11:02 发表楼主你写的AJAX 怎么跟http://www.phpchina.com/bbs/viewthread.php?tid=10901&highlight=ajax里面说到的ajax差别这么大呀,可读性太难了.
作者: neuron 发布时间: 2008-01-16
引用:
原帖由 aspccw 于 2008-1-16 10:03 发表这冲楼主的精神,支持一下!!!
辛苦了......



[ 本帖最后由 neuron 于 2008-1-16 12:47 编辑 ]
作者: neuron 发布时间: 2008-01-16
作者: neuron 发布时间: 2008-01-16
现在原创越来越少了,像这样好的更是少之又少,是应该给加精以鼓励的!

作者: 阿米 发布时间: 2008-01-16
作者: chyoqin 发布时间: 2008-01-19














作者: neuron 发布时间: 2008-01-21

作者: hengxf 发布时间: 2008-01-21
作者: dzjzmj 发布时间: 2008-01-22

作者: czly 发布时间: 2008-01-22

作者: prolove_luo 发布时间: 2008-01-22
引用:
原帖由 卡卡依 于 2008-1-22 11:22 发表LZ,不知道你能不能实现像DISCUZ注册的时候那种机制,即时判定!即鼠标移开表单就判断条件是否正确!那种应该如何写呢?等待回复ING。。。

作者: 卡卡依 发布时间: 2008-01-23
作者: neuron 发布时间: 2008-01-28

作者: naoxin520 发布时间: 2008-06-20


作者: atree1984 发布时间: 2008-06-20

作者: atree1984 发布时间: 2008-06-26
作者: myBe 发布时间: 2008-06-26

作者: hklcf 发布时间: 2008-06-26
作者: 尘雨网络 发布时间: 2008-07-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28