嗨秀秀场:关于javascript进行商品搜索的问题

来源:百度文库 编辑:高考问答 时间:2024/05/08 19:16:00
我这里一个网站的高级搜索是用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进行商品搜索的问题
悬赏分: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>