成都网站建设设计

将想法与焦点和您一起共享

关于搜javascript的信息

关于javascript进行商品搜索的问题

关于javascript进行商品搜索的问题

公司主营业务:成都网站设计、网站建设、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出通河免费做网站回馈大家。

悬赏分:10 - 离问题结束还有 14 天 23 小时

我这里一个网站的高级搜索是用javascript脚本进行匹配的,但是我其中没有看见有连接数据库的代码,它是怎么实现搜索的?请详细回答一下!!感谢.

代码如下:

script language=javascript

var whitespace = " \t\n\r";

function IsWhitespace (s)

{ var i;

if (IsEmpty(s)) return true;

for (i = 0; i s.length; i++)

{ var c = s.charAt(i);

if (whitespace.indexOf(c) == -1) return false;

}

return true;

}

function IsEmpty(s)

{ return ((s == null) || (s.length == 0))}

function IsDate(fDate)

{ var arrDaysInMonth=new Array(12);

arrDaysInMonth[1]=31;

arrDaysInMonth[2]=29;

arrDaysInMonth[3]=31;

arrDaysInMonth[4]=30;

arrDaysInMonth[5]=31;

arrDaysInMonth[6]=30;

arrDaysInMonth[7]=31;

arrDaysInMonth[8]=31;

arrDaysInMonth[9]=30;

arrDaysInMonth[10]=31;

arrDaysInMonth[11]=30;

arrDaysInMonth[12]=31;

if (IsEmpty(fDate))

return true

var NameList=fDate.split("-");

if (NameList.length!=3)

return false

if(!(IsYear(NameList[0])IsMonth(NameList[1]) IsDay(NameList[2])) )

return false

if ( NameList[1]arrDaysInMonth[NameList[1]] )

return false

if((NameList[1]==2)(NameList[2]DaysInFebruary(NameList[0]) ) )

return false

return true

}

function search()

{

var name = document.forms['frmdata'].elements['name'].value;

var auth= document.forms['frmdata'].elements['author'].value;

var manufact=

document.forms['frmdata'].elements['manufacturer'].value;

var smallprice=document.forms['frmdata'].elements['smallprice'].value;

var largeprice=document.forms['frmdata'].elements['largeprice'].value;

var

enabledat= document.forms['frmdata'].elements['enabledate'].value;

var

expiredate=document.forms['frmdata'].elements['expiredate'].value;

if (!IsWhitespace(enabledate))

{

if (!IsDate(enabledate))

{

alert("出厂日期 开始日期格式错误!");

return false;

}

}

if (!IsWhitespace(expiredate))

{

if (!IsDate(expiredate))

{

alert("出厂日期 结束日期格式错误!");

return false;

}

}

var allNotEmpty = (!IsWhitespace(name)) ||

(!IsWhitespace(author)) ||

(!IsWhitespace(manufacturer)) ||

(!IsWhitespace(smallprice)) ||

(!IsWhitespace(largeprice))||

(!IsWhitespace(enabledate)) ||

(!IsWhitespace(expiredate));

if (!allNotEmpty)

{ alert("必需输入一个搜索条件");

return false;

}

...中间类似判断

if((!IsWhitespace(smallprice))(!IsWhitespace(largeprice)))

{

if (parseFloat(smallprice)parseFloat(largeprice))

{

alert("价格范围错误");

return false;

}

}

}

/script

JavaScript静态搜索

代码:

1 form.htm

起始页面,页面里有查询框。

script language="javascript"

function gosearch(){

if (str.value==""){ alert ("请输入查找的内容!"); return false; }

window.location="query.htm?"+str.value;

}

function getkey(){

if(window.event.keyCode == 13) gosearch();

}

/script

input name="str" type="text" id="str" /

input type="button" name="Button" value="查找" onclick="gosearch()" /

script

str.focus();

document.onkeydown=getkey;

/script

2 query.htm

搜索页面,接收上个页面 传来的参数。

script language="javascript"

var titlearray = new Array(); //关键字数组

var urlarray = new Array(); //超级链接数组

var fitarray = new Array(); //符合要求的数组

/script

script type="text/javascript" src="title.js"/script//加载关键字

script type="text/javascript" src="url.js"/script//加载超级链接

script language="javascript"

var args = window.location.href.split("?");//用问号为间隔,各个参数写入数组args

var target = args[1]; //要找的字符串

for (var i=0; ititlearray.length; i++){

if (titlearray[i].indexOf(target)!=-1){

fitarray.push(i);//将要找的结果写入数组。也可以不用数组,直接显示。

}

}

var resultstr = "";

if (fitarray.length ==0 ){

resultstr += "抱歉,没有找到资料。";

}

for (j in fitarray){

resultstr += "a href=\""+ urlarray [fitarray[j]] +"\" target=\"_blank\""+ titlearray[fitarray[j]]+"

";//结果内容赋值给了resultstr

}

/script

div id="result"/div

script language="javascript"

document.getElementById("result").innerHTML += resultstr;//显示结果内容

/script

3 title.js 关键字文件

titlearray [0] = "keyword1";

titlearray [1] = "keyword2";

titlearray [2] = "keyword3";

url.js 超级链接文件

urlarray [0] = "1.htm";

urlarray [1] = "2.htm";

urlarray [2] = "3.htm";

这两个文件需要下标对应,不能错位。

如何用Javascript实现搜索功能

这里有一个简单的站内搜索功能

SCRIPT language=javascript

!--

function go(formname)

{

var url = ;

formname.method = "get";

if (formname.myselectvalue.value == "1") {

document.search_form1.word.value = document.search_form1.word.value " site:";

}

formname.action = url;

return true;

}

//--

/SCRIPT

form name="search_form1" target="_blank" onsubmit="return go(this)"

input name=word size="30" value="请输入关键字" onMouseOver="this.focus()" onBlur="if (value ==''){value='请输入关键字'}" onFocus="this.select()" onClick="if(this.value=='请输入关键字')this.value=''"

input type="submit" value="搜索"br

INPUT name=myselectvalue type=hidden value=0

INPUT name=tn type=hidden value="sayyes"

INPUT name=cl type=hidden value="3"

INPUT CHECKED name=myselect onclick=javascript:this.form.myselectvalue.value=0; type=radio value=0

FONT color=#0000cc style="FONT-SIZE: 12px"互联网 

INPUT name=myselect onclick=javascript:this.form.myselectvalue.value=1; type=radio value=1

FONT color=#ff0000 style="FONT-SIZE: 12px"站内 

/form

怎么打开JavaScript

一、IE浏览器开启JavaScript方法:

1、在IE界面菜单栏中“工具”中选择“Internet选项”。

2、“安全”选项卡中选择“Internet”(蓝色的小地球)。

3、进入“自定义级别”找到“脚本”下的“Java小程序脚本”中进行启用。

二、360浏览器开启JavaScript方法:

1、在360界面菜单栏的“工具”中选择“360安全浏览器选项”。

2、找到“网页设置”选项,在网页设置选项中取消“不支持Java小程序”。设置完成后,重新打开浏览器设置即可生效。

javascript搜索功能是怎么实现的?要跟后台交互吧?是不是和过滤功能差不多原理?

搜索功能有多种实现方式 ,前后端都可以实现

第一种:

页面内搜索(类似CTRL+F),这个可以纯前端完成,直接用js匹配搜索结果,进行隐藏显示或改变颜色等

第二种:

纯后端方案,将搜索的字符串拼接到一个新的url参数后,然后跳转到生成的url上,直接显示新页面搜索结果,如最早的baidu搜索就是一个跳转 ,目前baidu已经不使用这种方式

第三种:

Ajax搜索,需要前后端配合,将关键字发送一个请求到后端,后端需要将结果的数据传给前端,前端根据返回的数据,重新对页面部分进行渲染

CTRL+F不支持正则,这个是浏览器自带的功能,由于正则对于普通用户来说,是很专业的,浏览器一般不会去支持很少有人会用的功能,当然是否支持取决于浏览器厂商的想法


名称栏目:关于搜javascript的信息
URL标题:http://chengdu.cdxwcx.cn/article/dsdsihp.html