游子 发表于 2008-12-2 09:22:00

用Dreamweaver做搜索表单

本例介绍了在<I></I> MX<I></I> 2004中如何制作ASP搜索表单。<BR><BR> 应用本教程前的准备工作:<BR> ①已经成功建立ASP运行环境;<BR> ②已经在Dreamweaver中建立动态站点并成功连接;<BR><BR> 1、首先在要输入搜索信息的页面上(如:index.htm)建立一个搜索的表单,<BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212070377801.gif" border=0><BR><BR> <BR> 表单中包含一个文本域(input<I></I> text),名称(name)为"keyword",<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212076577802.gif" border=0><BR><BR> <BR> 表单(form)的名称(name)为"form1",动作(Action)填入"search.asp";<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212081277803.gif" border=0><BR><BR> <BR> 2、制作处理搜索结果页search.asp,你可以先设计好页面的界面。设计好之后,开始建立记录集。在“应用程序”面板上点击“绑定”&gt;“记录集(查询)”。输入名称,选择相应的连接和数据表,在“筛选”中,选择一个字段“包含”“表单变量”:"keyword"(和你在index.htm中定义的文本框的名称一致),<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212085977804.gif" border=0><BR><BR> <BR><BR> 切换到高级视图,可以看到生成的SQL语句;<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212090677805.gif" border=0><BR><BR> 3、在页面中将记录一一绑定,图中的{Form.keyword},实际上是&lt;%=<I></I> Request.Form("keyword")<I></I> %&gt;以获取搜索的内容。接下来就可以对已经绑定的动态数据添加行为,如“重复区域”、“分页”等等,<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/20081229212095377806.gif" border=0><BR><BR> 因为搜索过程中很有可能出现搜索的内容不存在的情况,所以我们这里一定要添加一个“如果记录集不为空则显示”的服务器行为。选中动态数据所在的那一行(&lt;tr&gt;...&lt;/tr&gt;),点击“服务器行为”中的“显示区域”&gt;“如果记录集不为空则显示”。再找到<BR> &lt;%<I></I> End<I></I> If<I></I> <I></I> <I></I> end<I></I> Not<I></I> search.EOF<I></I> Or<I></I> NOT<I></I> search.BOF<I></I> %&gt;<I></I> <BR> 所在的地方,在前面添加几行代码,成为如下:<BR> &lt;%<I></I> Else<I></I> %&gt;<BR> &lt;tr&gt;&lt;td&gt;你所查询的内容不存在,请更改关键词后再查询!&lt;/td&gt;&lt;/tr&gt;<BR> &lt;%<I></I> End<I></I> If<I></I> <I></I> <I></I> end<I></I> Not<I></I> search.EOF<I></I> Or<I></I> NOT<I></I> search.BOF<I></I> %&gt;<BR><BR> 4、这个搜索表单基本上已经完成了。但如果要想让搜索出的结果以突出的方式显示(比如用红色、加粗的字体表示),则可以在html代码的&lt;html&gt;标记之前加入以下代码:<BR><BR> &lt;%<BR> function<I></I> ShowBold(theField)<BR> Set<I></I> objRegExp=<I></I> New<I></I> RegExp<BR> objRegExp.Pattern="("<I></I> &amp;<I></I> Request.Form("keyword")<I></I> &amp;<I></I> ")"<I></I> 其中的keyword要和index.htm中文本框的名字一致<BR> objRegExp.IgnoreCase=True<BR> objRegExp.Global=True<BR> ShowBold=objRegExp.Replace(theField,"&lt;font<I></I> color=red&gt;&lt;b&gt;$1&lt;/b&gt;&lt;/font&gt;")<BR> end<I></I> function<BR> %&gt;<BR> <IMG src="/bbs/attachments/websoft/20081202/200812292121077807.gif" border=0><BR><BR> <BR> 图中橙色背景的部分即是页面中要突出显示的效果。<BR><BR> 5、然后在要突出显示的地方修改以下代码:<BR> 如将原来的&lt;%=(search.Fields.Item("n_contents").value)%&gt;修改为:<BR> &lt;%=ShowBold(search.Fields.Item("n_contents").value)%&gt;<BR><BR> <IMG src="/bbs/attachments/websoft/20081202/2008122921214677808.gif" border=0><BR><BR> OK,到这里就完成了。<BR></p><p align='center'><b><font color='red'></font> <a href='/news/news001/dreamweaver/200510/20051016193927_2.html'></a> <a href='/news/news001/dreamweaver/200510/20051016193927_2.html'></a>&
页: [1]
查看完整版本: 用Dreamweaver做搜索表单