二、js函数:orderform_functions.js
//vampirebat,2002-1-16;http://www.vampirebat.org
//<–start–从cookie中读出订单数据的函数
function readorderform(name)
{
var cookiestring=document.cookie;
if (cookiestring=="")
{
return false;
}
else
{
var firstchar,lastchar;
firstchar=cookiestring.indexof(name);
if(firstchar!=-1)
{
firstchar+=name.length+1;
lastchar = cookiestring.indexof(;, firstchar);
if(lastchar == -1) lastchar=cookiestring.length;
return cookiestring.substring(firstchar,lastchar);
}
else
{
return false;
}
}
}
//–>end
//<–start–添加商品至购物车的函数
function setorderform(item_no,item_name,item_amount,item_price)
{
var cookiestring=document.cookie;
if (cookiestring.length>=4000)
{
alert("您的订单已满\n请结束此次订单操作后添加新订单!");
}
else if(isnan(item_amount)||item_amount<1||item_amount.indexof(.)!=-1)
{
alert("数量输入错误!");
}
else
{
var mer_list=readorderform(24_orderform);
var then = new date();
then.settime(then.gettime()+30*60*1000);
var item_detail="|"+item_no+"&"+item_name+"&"+item_amount+"&"+item_price;
if(mer_list==false)
{
document.cookie="24_orderform="+escape(item_detail)+";expires=" + then.togmtstring();
alert("“"+item_name+"”\n"+"已经加入您的订单!");
}
else
{
if (mer_list.indexof(item_no)!=-1)
{
alert(此商品您已添加\n请进入订单修改数量!)
}
else
{
document.cookie="24_orderform="+mer_list+escape(item_detail)+";expires=" + then.togmtstring();
alert("“"+item_name+"”\n"+"已经加入您的订单!");
}
}
}
}
//–>end
//<–start–订单修改更新cookie的函数
function updatecookie()
{
var limit=document.orderform.elements.length-3;
if (document.orderform.update.value=="修改订单")
{
document.orderform.update.value="更新订单";
document.orderform.submit.disabled=true;
//<–
for (i=1;i<limit;i++)
{
document.orderform.elements[i].disabled=false;
i=i+2;
document.orderform.elements[i].disabled=false;
}
//–>
}
else
{
document.orderform.update.value="修改订单"
document.orderform.submit.disabled=false;
//<–
for (i=1;i<limit;i++)
{
document.orderform.elements[i].disabled=true;
i=i+2;
document.orderform.elements[i].disabled=true;
}
//–>
var then = new date();
then.settime(then.gettime()+30*60*1000);
var values=document.orderform.storage.value
document.cookie="24_orderform="+escape(values)+";expires=" + then.togmtstring();
}
}
//–>end
//<–start–删除单个商品的函数
function delete(tableid,id)
{
var confirm_delete=window.confirm("确定要删除吗?")
if (confirm_delete)
{
var deletedlist=document.orderform.storage.value;
var broken_deletedlist=deletedlist.split("|");
for (i=1;i<broken_deletedlist.length;i++)
{
if(broken_deletedlist[i].indexof(id)!=-1) delete broken_deletedlist[i];
}
var new_deletedlist="";
for (i=1;i<broken_deletedlist.length;i++)
{
if (broken_deletedlist[i]!=undefined) new_deletedlist=new_deletedlist+"|"+broken_deletedlist[i];
}
document.orderform.storage.value=new_deletedlist;
tableid.deleterow();
updatetotal();
}
}
//–>end
//<–start–更新价格总计的函数
function updatetotal()
{
var new_total=0;
var limit=document.orderform.elements.length-3;
for (i=2;i<limit;i=i+3)
{
new_total=new_total*100+document.orderform.elements[i].value*100;
new_total=new_total/100;
}
if(isnan(new_total))
{
document.orderform.total.value="输入错误";
}
else
{
document.orderform.total.value=new_total;
}
}
//–>end
//<–start–更新价格小计的函数
function updatesubtotal(m_id,new_amount,price)
{
var price=price*100;
var new_subtotal=new_amount*price/100;
var n_m_id="id"+m_id;
if(isnan(new_amount)||new_amount<1||new_amount.indexof(.)!=-1)
{
document.orderform.elements[n_m_id].value="输入错误";
}
else
{
document.orderform.elements[n_m_id].value=new_subtotal;
}
updatetotal();
}
//–>end
//<–start–更新storage的函数
function updatestorage(m_id,new_amount)
{
if(isnan(new_amount)||new_amount<1||new_amount.indexof(.)!=-1)
{
alert("数量填写错误!")
document.orderform.elements["aid"+m_id].focus();
document.orderform.elements["aid"+m_id].select();
}
else
{
var the_list=document.orderform.storage.value;
var single_list=the_list.split("|")
for (i=1;i<single_list.length;i++)
{
if (single_list[i].indexof(m_id)!=-1)
{
var old_single=single_list[i];
var broken_single_list=single_list[i].split("&");
broken_single_list[2]=new_amount;
var new_single=broken_single_list[0]+"&"+broken_single_list[1]+"&"+broken_single_list[2]+"&"+broken_single_list[3];
the_list=the_list.replace(old_single,new_single);
}
}
document.orderform.storage.value=the_list;
}
}
//–>end
