ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用JS+Cookie编写的购物车2(转)

用JS+Cookie编写的购物车2(转)

原创 Linux操作系统 作者:rain0903 时间:2019-04-16 09:12:08 0 删除 编辑
二、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("您的订单已满请结束此次订单操作后添加新订单!");
}
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+"” "+"已经加入您的订单!");
}
else
{
if (mer_list.indexOf(item_no)!=-1)
{
alert('此商品您已添加请进入订单修改数量!')
}
else
{
document.cookie="24_OrderForm="+mer_list+escape(item_detail)+";expires=" + Then.toGMTString();
alert("“"+item_name+"” "+"已经加入您的订单!");
}
}
}
}
//-->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{
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{
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{
if(broken_deletedList[i].indexOf(id)!=-1) delete broken_deletedList[i];
}

var new_deletedList="";

for (i=1;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{
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{
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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7178747/viewspace-161976/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2006-04-07

  • 博文量
    414
  • 访问量
    301072