關(guān)于javascript進(jìn)行商品搜索的問題
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出通河免費(fèi)做網(wǎng)站回饋大家。
懸賞分:10 - 離問題結(jié)束還有 14 天 23 小時(shí)
我這里一個(gè)網(wǎng)站的高級(jí)搜索是用javascript腳本進(jìn)行匹配的,但是我其中沒有看見有連接數(shù)據(jù)庫的代碼,它是怎么實(shí)現(xiàn)搜索的?請?jiān)敿?xì)回答一下!!感謝.
代碼如下:
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("出廠日期 開始日期格式錯(cuò)誤!");
return false;
}
}
if (!IsWhitespace(expiredate))
{
if (!IsDate(expiredate))
{
alert("出廠日期 結(jié)束日期格式錯(cuò)誤!");
return false;
}
}
var allNotEmpty = (!IsWhitespace(name)) ||
(!IsWhitespace(author)) ||
(!IsWhitespace(manufacturer)) ||
(!IsWhitespace(smallprice)) ||
(!IsWhitespace(largeprice))||
(!IsWhitespace(enabledate)) ||
(!IsWhitespace(expiredate));
if (!allNotEmpty)
{ alert("必需輸入一個(gè)搜索條件");
return false;
}
...中間類似判斷
if((!IsWhitespace(smallprice))(!IsWhitespace(largeprice)))
{
if (parseFloat(smallprice)parseFloat(largeprice))
{
alert("價(jià)格范圍錯(cuò)誤");
return false;
}
}
}
/script
代碼:
1 form.htm
起始頁面,頁面里有查詢框。
script language="javascript"
function gosearch(){
if (str.value==""){ alert ("請輸入查找的內(nèi)容!"); 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
搜索頁面,接收上個(gè)頁面 傳來的參數(shù)。
script language="javascript"
var titlearray = new Array(); //關(guān)鍵字?jǐn)?shù)組
var urlarray = new Array(); //超級(jí)鏈接數(shù)組
var fitarray = new Array(); //符合要求的數(shù)組
/script
script type="text/javascript" src="title.js"/script//加載關(guān)鍵字
script type="text/javascript" src="url.js"/script//加載超級(jí)鏈接
script language="javascript"
var args = window.location.href.split("?");//用問號(hào)為間隔,各個(gè)參數(shù)寫入數(shù)組args
var target = args[1]; //要找的字符串
for (var i=0; ititlearray.length; i++){
if (titlearray[i].indexOf(target)!=-1){
fitarray.push(i);//將要找的結(jié)果寫入數(shù)組。也可以不用數(shù)組,直接顯示。
}
}
var resultstr = "";
if (fitarray.length ==0 ){
resultstr += "抱歉,沒有找到資料。";
}
for (j in fitarray){
resultstr += "a href=\""+ urlarray [fitarray[j]] +"\" target=\"_blank\""+ titlearray[fitarray[j]]+"
";//結(jié)果內(nèi)容賦值給了resultstr
}
/script
div id="result"/div
script language="javascript"
document.getElementById("result").innerHTML += resultstr;//顯示結(jié)果內(nèi)容
/script
3 title.js 關(guān)鍵字文件
titlearray [0] = "keyword1";
titlearray [1] = "keyword2";
titlearray [2] = "keyword3";
url.js 超級(jí)鏈接文件
urlarray [0] = "1.htm";
urlarray [1] = "2.htm";
urlarray [2] = "3.htm";
這兩個(gè)文件需要下標(biāo)對應(yīng),不能錯(cuò)位。
這里有一個(gè)簡單的站內(nèi)搜索功能
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="請輸入關(guān)鍵字"?onMouseOver="this.focus()"?onBlur="if?(value?==''){value='請輸入關(guān)鍵字'}"?onFocus="this.select()"?onClick="if(this.value=='請輸入關(guān)鍵字')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"互聯(lián)網(wǎng)?
INPUT?name=myselect?onclick=javascript:this.form.myselectvalue.value=1;?type=radio?value=1
FONT?color=#ff0000?style="FONT-SIZE:?12px"站內(nèi)?
/form
一、IE瀏覽器開啟JavaScript方法:
1、在IE界面菜單欄中“工具”中選擇“Internet選項(xiàng)”。
2、“安全”選項(xiàng)卡中選擇“Internet”(藍(lán)色的小地球)。
3、進(jìn)入“自定義級(jí)別”找到“腳本”下的“Java小程序腳本”中進(jìn)行啟用。
二、360瀏覽器開啟JavaScript方法:
1、在360界面菜單欄的“工具”中選擇“360安全瀏覽器選項(xiàng)”。
2、找到“網(wǎng)頁設(shè)置”選項(xiàng),在網(wǎng)頁設(shè)置選項(xiàng)中取消“不支持Java小程序”。設(shè)置完成后,重新打開瀏覽器設(shè)置即可生效。
搜索功能有多種實(shí)現(xiàn)方式 ,前后端都可以實(shí)現(xiàn)
第一種:
頁面內(nèi)搜索(類似CTRL+F),這個(gè)可以純前端完成,直接用js匹配搜索結(jié)果,進(jìn)行隱藏顯示或改變顏色等
第二種:
純后端方案,將搜索的字符串拼接到一個(gè)新的url參數(shù)后,然后跳轉(zhuǎn)到生成的url上,直接顯示新頁面搜索結(jié)果,如最早的baidu搜索就是一個(gè)跳轉(zhuǎn) ,目前baidu已經(jīng)不使用這種方式
第三種:
Ajax搜索,需要前后端配合,將關(guān)鍵字發(fā)送一個(gè)請求到后端,后端需要將結(jié)果的數(shù)據(jù)傳給前端,前端根據(jù)返回的數(shù)據(jù),重新對頁面部分進(jìn)行渲染
CTRL+F不支持正則,這個(gè)是瀏覽器自帶的功能,由于正則對于普通用戶來說,是很專業(yè)的,瀏覽器一般不會(huì)去支持很少有人會(huì)用的功能,當(dāng)然是否支持取決于瀏覽器廠商的想法
文章名稱:關(guān)于搜javascript的信息
網(wǎng)址分享:http://chinadenli.net/article48/dsdsihp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、Google、商城網(wǎng)站、云服務(wù)器、企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)