欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ASP+ACCESS+AJAX制作的一个实用的个人电话本

程序员文章站 2022-05-24 09:18:53
...

写在前面: 电话丢了,联系方式都没了。 过节了,来了个短信,不知道是谁。 别人给了个名片,过几天怎么也找不到了。 要是 电话本 丢了,那你就更惨了。 多年不联系的朋友,突然想打个电话,号码忘了。 朋友电话变了,但是qq和邮箱一般不会变吧? 这些事情我

写在前面:

电话丢了,联系方式都没了。

过节了,来了个短信,不知道是谁。

别人给了个名片,过几天怎么也找不到了。

要是电话本丢了,那你就更惨了。

多年不联系的朋友,突然想打个电话,号码忘了。

朋友电话变了,但是qq和邮箱一般不会变吧?

这些事情我们经常遇到。

有了这个小玩意,一切变得简单了。

?

酝酿多年,觉得没有这个电话本真是太麻烦了。下定决心少睡几个小时吧。终于完成了,确实很方便,稍有些粗糙。

?

功能描述:

利用ajax实现输入关键字或选择类别实时查询,查询条件多样。建议该程序运行在自己的电脑上,所以没做任何身份验证和加密措施。数据库为access2003,2007的数据库连接方式改了,并且要求在服务器上安装驱动才能运行,所以选择了access2003。

测试环境: win7,ie8。

?

?

总结:

1、不要使用AWS代替IIS,这破玩意配置简单,莫名其妙的错误也太多了,主要是出现中文乱码,害得我多调试了3、4个小时。
2、中文参数乱码问题,可以将参数使用escape(StringValue),或者使用encodeURIComponent(StringValue)转化一下。这两个玩意有啥差别我也不知道。
3、所有页面使用utf-8编码,否则出现下拉列表中文乱码。

?

4、获取表单中的参数总结:
如果表单中的input的id和name唯一,则以下五种方法都可以获取值。
var m_name = document.form1.m_name.value;
var m_name = document.getElementsByName("m_name").value;
var m_name = document.getElementById("m_name").value;
var m_name = document.all("m_name").value;?
var m_name = document.all.m_name.value;
如果表单中的input的id和name不是唯一,比如单选按钮组或者多选按钮,则获取方法如下:
var m_name = document.getElementsByName("m_name");
var m_namevalue="";

for(var i=0;i {
? if(m_name[i].checked){
? m_namevalue=m_name[i].value;
? }
}

5、此外,若页面中存在表单,但是希望当点击提交按钮时,表单不被提交,则可以在form中添加onSubmit="search();return false;",其中return false阻止了表单的submit动作。


?

程序见附件吧。

?

如果你的iis不好用,请参看http://zhiyongliu.iteye.com/blog/807621 ,此外如果无法更新数据,请更改程序所在文件夹-属性-安全,添加iuser用户的访问权限。

?

?

…………………………………………………………………………

使用了一段时间后,觉得还是有些地方要修改一下:

个人电话本v2.0
增加了首页面即可添加编辑删除联系人,AJAX。
修正了当没有选择类别,也没有输入关键词,敲击键盘会显示所有记录的bug
修改了css和页面布局
代码重新格式化,增加可读性
修正了信息处理页中的排序部分代码。
修正了搜索时页面不刷新的问题。加随机参数。

总结:
JS不支持给tr赋值,可以给div和span赋值。
还要注意如果被引用的js文件中有中文显示,js文件也要求是utf-8编码。
调用带有参数的js函数时,若参数不是数字类型,千万别忘了给参数带单引号,这个问题困扰我好久。
注意当点edit时,弹出的input的id不能和原有的input重名,比如qq、email、类别、手机这几个不能和页面顶端的搜索栏中的input重名。

?

预解决问题:

不支持火狐浏览器