动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   DreamWeaver → 阅读文章

 Dreamweaver MX 2004设计留言本实战(3)

作者来源: 
阅读 3798 人次 , 2006-4-19 16:11:00 

  文章来源:flash8


  按Ctrl+F9展开服务器行为面板,看那四项中的前三项前是否有勾号,如果没有就是相应项在定义站点是没设置好,重做"DW的站点定义"那一步,然后开始创建记录集,有三种方法:

  1)在服务器行为面板上单击"+"号
  2)在插入菜单上"Insert>>Application Objects>>Recordset"
  3)在Application工具组里单击第一个图标:

Dreamweaver MX 2004设计留言本实战(3)

  因为我们还没连接过数据库,所以现在还需要定义连接数据库字符串。在弹出的Recordset对话框中单击如图45所标的"Define..."按钮,再单击"Connections for Site 'guestbook'"对话框中的"New"按钮,在出现的下拉选项中选"Custom Connection String"

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  现在是最关键的一步,在"Custom Connection String"对话框中填写自定义字符串:

  Connection name一项填:conn
  Connection string一项填(注意要带双引号):"Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="&Server.MapPath("/guestbook/data.mdb")
  再选中"Using driver on testing server"

Dreamweaver MX 2004设计留言本实战(3)

  之后一路点"OK"或"Done",回到图44所示的"Recordset"对话框,填写如下:

  Name(记录集名称):rs
  Connection(连接):conn
  Table(表):main
  Columns(字段):先选中"Selected"再按住Shift或Ctrl选择除ID以外的所有字段
  Sort(排序):选择以"Data"字段内容的"Descending"(倒序)方式排序

Dreamweaver MX 2004设计留言本实战(3)

  确定后出现一个提示窗口,大概意思是"记录集已添加到该页,在绑定面板中可以访问该记录集的各字段",选中"Don't show me again"后按"OK"

  我们把头像地址跟数据库中的数据关联想来,也就是绑定ICON字段的数据到图片地址:

  1)选中那个头像图片,单击属性面板中如图48所示的图标
  2)在弹出的"Select Image Source"对话框中的"Select file name from"项选"Data sources"切换到从数据源选择图片源模式(图49)
  3)先把URL那一栏的内容剪切,然后单击ICON字段,再把刚才的内容粘贴回来,修改成如图50所示

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  这样就完成了头像的绑定,自己对照一下绑定前后图片的路径。是不是开始觉得有点意思了?OK,不要停,继续绑定Name字段到头像下面的"访客昵称":

  1)选中"访客昵称"四字后按Ctrl+F10展开Bindings(绑定)面板
  2)从中选择Name字段后单击下面的"Insert"按钮(图51)
  3)这时在Name字段右方出现格式化的倒三角形,点击之后选择"Encode - Server.HTMLEncode"

Dreamweaver MX 2004设计留言本实战(3)    Dreamweaver MX 2004设计留言本实战(3)

  同理把Name字段绑定到"访客发表于2003-9-27 4:04:49"中的"访客"上、Date字段绑定到"访客发表于2003-9-27 4:04:49"中的时间日期上、Content绑定到"留言内容“、Reply绑定到"回复内容",在"回复内容"后软回车再绑定RDate字段:

Dreamweaver MX 2004设计留言本实战(3)

  仔细看看,好象还有"主页"、"信箱"和"QQ"未绑定数据。按照我们的计划,这三组文字应该都是带链接的,而链接地址跟访客输入的相关资料绑定,其实这个跟绑定头像的方法有点相似:

  1)选中"主页",并单击属性面板中的"Browse for File"按钮,在弹出的"Select File"对话框中作如图54的设置后点"OK",最后回到属性面板中把Target的值选为"_blank",以在新窗口中打开访客主页
  2)同理缩写"信箱"的链接,稍有不同的是信箱的链接前面需要加上"mailto:",如图55
  3)做"QQ"的链接又跟前面的稍有不同,因为我们查看QQ用户的资料地址是http://search.tencent.com/cgi-bin/friend/user_show_info?ln=******,所以我们要做的是把星号换成"QQ"字段的数据,如图56

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  现在所有的数据都绑定完了,但是不要高兴得太早,这样的留言板永远只会显示一条留言记录,所以我们还需要设定重复域和翻页

  1)光标定位到头像所在单元格内,然后点选表格二中的<tr>,如图57所示
  2)按Ctrl+F9展开服务器行为面板,点击"+”按钮,在出现的下拉菜单中选择"Repeat Region",或者在"Application"工具组中点左起第四个图标,然后弹出"Repeat Region"对话框,这里都用默认设置,所以直接点“OK”
  3)选中表格二,然后应用服务器行为"Show Region If Recordset Is Not Empty",如图58

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  这是为了在数据库没有记录时不会出错的,相信在图58中大家也注意到了第一项的"Show Region If Recordset Is Empty",这个可以设置当数据库无记录时显示的内容。
数据记录多了之后肯定不能都让它们在一页里显示,所以我们还需要给显示留言加上翻页功能。选择"首页",按"Ctrl+F9"展开服务器行为面板,单击上面的"+"号,在下拉菜单中选择"Recordset Paging>>Move To First Recordset"(图59),同理给"上页"、"下页"和"尾页"加上翻页功能,分别对应的服务器行为为"Move To Previous Recordset"、"Move To Next Recordset"和"Move To Last Recordset",顺便说一下,这些服务器行为也可以在"Application"工具组里找到,而且还有一个直接插入"Recordset Navigation Bar"(导航栏),可以自己试试看跟我们刚才所做的有什么区别。最后记住也给导航条应用"Show Region If Recordset Is Not Empty"命令,没有记录的话翻页就用不着了。

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  做到这里,我们的留言板首页终于完成了,可以稍息一下,在IE中输入"http://localhost/guestbook"看看劳动成果......什么?什么也没有?

Dreamweaver MX 2004设计留言本实战(3)

  当然了,因我们的数据库中还没记录,如果急着想看效果的话可以用ACCESS打开数据库直接添加记录。

  把index.asp另存为insert.asp,修改页面标题"留言板首页"为"填写留言",删除一些表格,并在服务器面板中把除第一条Recordset(rs)以外的行为都选中后按上面的"-"号删除,完成后大概是这样:

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  光标定位到第三行的单元格里后点"Application"工具组里的"Record Insertion Form Wizard"图标(图63),弹出"Record Insertion Form"对话框,删掉一些项,并作设置如下(没写的属性项均用默认值):

Connection:conn
Insert into table:main
After inserting,go to:index.asp
Name{
Label:昵称:
}
Email{
Label:信箱:
}
Homepage{
Label:主页:
Default value:http://
}
QQ{
Submit as:Numeric
}
Content{
Label:内容:
Display as:Text area
}
ICON{
Display as:Hidden field
Default value:01
}
IP{
Display as:Hidden field
Default value:<%= Request.ServerVariables("REMOTE_ADDR") %>
}

  除了上面提到的,其它项按上面的"-"号删除,并通过上三角和下调整各项的顺序,填好后如图所示

Dreamweaver MX 2004设计留言本实战(3)

Dreamweaver MX 2004设计留言本实战(3)

  到这里添加留言的页面在功能上已经完成了,下面是我调整一下表单项的位置并用CSS对文本框作了美化后的效果:

Dreamweaver MX 2004设计留言本实战(3)

  把头像图片所在的单元格的id设为icon(在单元格td标签内加上id="icon"),并添加下面的代码到css.css文件中:

input,textarea {
font-family: Verdana, "宋体";
font-size: 12px;
background-color: #DDDDDD;
height: 18px;
width: 150px;
border: 1px solid #333333;
}
extarea{
height:120px;
width:98%;
overflow:hidden;
}
#icon img{
margin:2px;
cursor:hand;
}

  还有下面的脚本代码添加到insert.asp的head部分:

<script language="JavaScript">
<!--
window.onload=function (){//页面加载完毕时执行
var obj=document.form1;
obj.onmouseover=function(){//表单项(文本框、多行文本框)在鼠标移上时变换背景颜色的函数(函数①)
if(event.srcElement.tagName=="INPUT"||event.srcElement.tagName=="TEXTAREA")//判断当对象标签为input或textarea时执行
event.srcElement.style.backgroundColor="#EEEEEE";//对象背景颜色变换#EEEEEE
}
obj.onmouseout=function(){//表单项(文本框、多行文本框)在鼠标移出时变换背景颜色的函数(函数②)
if(event.srcElement.tagName=="INPUT"||event.srcElement.tagName=="TEXTAREA")//判断当对象标签为input或textarea时执行
event.srcElement.style.backgroundColor="#DDDDDD";//对象背景颜色变换#DDDDDD
}
icon.onclick=function(){//单击头像图片时把图片名中的数字传递到隐藏域ICON的函数(函数③)
if(event.srcElement.tagName=="IMG")
obj.ICON.value=event.srcElement.src.match(/(0[1-6])(?=\.jpg)/g)[0];//将所点击的图片路径地址中的01-06赋值给隐藏域ICON
}
obj.onsubmit=function(){//验证表单的函数(函数④)
var error=""
if(obj.Name.value=="")error+="●昵称项不能为空\n\n";
if(obj.Email.value=="")error+="●信箱项不能为空\n\n";
else if(!/^\w(\w*\.*)*@(\w+\.)+\w{2,4}$/.test(obj.Email.value))error+="●信箱格式不正确\n\n";
if(obj.Homepage.value!=obj.Homepage.defaultValue&&!/^(http:\/\/[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$/.test(obj.Homepage.value))error+="●网址格式不正确\n\n"
if(obj.QQ.value!=""&&!/^[1-9]\d{4,8}$/.test(obj.QQ.value))error+="●QQ号码只能是5位到9位的数字\n\n"
if(obj.Content.value=="")error+="●留言内容不能为空\n\n";
else if(obj.Content.value.length>1000){error+="●留言字符长度超出1000";obj.Content.value=obj.Content.value.substring(0,1000)}
if(error!=""){alert("错误提示:\n\n"+error);return false;}
else return true;
}
}
//-->
</script>

  如果不需要表单项在鼠标事件发生时变换背景颜色,可以去掉函数①和②,如果嫌手写表单验证的代码太累,可以去掉函数④,然后到yaromat.com下载一个叫checkForm的插件,找不到的话就从这个地址下:http://vip.5d.cn/Xmercy/form/checkform.mxp。插件下载后双击自动安装,最后在行为面板上点"+"号,选择"yaromat>>check form"就可以用了,插件的使用很简单,这里就不多说了。

  填写不正确时的警告

Dreamweaver MX 2004设计留言本实战(3)


   如果填写正确后提交是500错误,那就有可能是"Everyone"对数据库的操作权限太低,解决办法:

  1)在数据库文件上右击,在快捷菜单中选择"属性"
  2)切换到"安全"标签,作设置如下

Dreamweaver MX 2004设计留言本实战(3)

  如果还有错误,并且已经确认之前的所有操作都正确无误,请按"Ctrl+`"切换到源码视图,检查代码中是否出现一个<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>和一个<%@LANGUAGE="VBSCRIPT"%>,有的话删掉<%@LANGUAGE="VBSCRIPT"%>。

  
 本文Tagsdreamweaver  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Dreamweaver MX 2004设计留言本实战(2)
· 下一篇:Dreamweaver MX 2004设计留言本实战(4)
· 教程/dreamweaver/技巧 去除DW MX 2004表格宽度辅助
· Dreamweaver行为全接触(4)
· Ultradev实例教程:3.1 定义站点
· Dreamweaver MX制作虚线
· Dreamweaver 4 简明教程13(排版)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077