欢迎光临
我们一直在努力

我用JS+Cookie编写的购物车,(添加、修改过程在客户端执行,一次提交服务器,IE适用),请大家指正(二)

建站超值云服务器,限时71元/月

二、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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 我用JS+Cookie编写的购物车,(添加、修改过程在客户端执行,一次提交服务器,IE适用),请大家指正(二)
分享到: 更多 (0)

相关推荐

  • 暂无文章