function getInfo(){
//定义一个数组goodsInfo,用来存储商品信息
var goodsInfo = new Array();

//取得商品ID
goodsInfo[0] = document.getElementsByName("goods_id")[0].value; //图片路径
goodsInfo[1] = document.getElementsByName("Images_url")[0].value;

//商品名称
goodsInfo[2]  = document.getElementsByName("goods_name")[0].value;

//商品单价
goodsInfo[3]  = document.getElementsByName("unit_price")[0].value;

//定义一个数组myCart,用来存储购物车中的商品的信息
var goods = new Array();

//将获得商品信息存入数组goods
goods[0] = goodsInfo;

//将数组myCart存入cookie
cookie.Set("myCart",goods);
}

var cookie={

//写入cookie,name为Cookie名,value为Cookie值
Set:function(name,value){

alert("111");

//定义一个时间对象
    var exdate = new Date();     //设置cookie过期时间为30天,8.64e7 一天 3.6e6 一小时 
    exdate.setTime(exdate.getTime() + (8.64e7*30) ); 
   
//Set cookie 
    document.cookie = name + '='+ value +';'+ 'expires='+ exdate.toUTCString() + 'path=/;domain=.taoyygo.com;secure=false'; 
}
}
请教,如果用这种方法的话,是不是只能添加一个物品啊
每次get了之后,会覆盖cookie?这样的话就只能获取一个物品了?
怎么完善的用js写一个购物车呢,,愁死了..谢谢大师们[email protected]如果有成品

解决方案 »

  1.   

    用cookie保存不太好吧,cookie才4k,如果只保存个goods_id的话,一样要到服务器端去找数据,
    cookie只能放字符串的,数组和对象,要先格式化成字符串的形式
      

  2.   

    cookie中存一个数组数据,例子如下:<script language="javascript">
    Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}
    Array.prototype.add=function(obj){this[this.length]=obj;}
    Array.prototype.insert=function(n,o){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<1) return false;for(i=this.length-1;i>=n;i--)this[i+1]=this[i];this[n]=o;return true;}String.prototype.Trim = function()
    {
      return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
    }
      
    function JSCookie()
    {
        this.GetCookie = function(key)
        {
            var cookie = document.cookie;
            var cookieArray = cookie.split(';');
            var getvalue = "";
            for(var i = 0;i<cookieArray.length;i++)
            {
                if(cookieArray[i].Trim().substr(0,key.length) == key)
                {
                    getvalue = cookieArray[i].Trim().substr(key.length + 1);
                    break;
                }
            }
            return getvalue;
        };
        this.GetChild = function(cookiekey,childkey)
        {
            var child = this.GetCookie(cookiekey);
            var childs = child.split('&');
            var getvalue = "";
            
            for(var i = 0;i < childs.length;i++)
            {
                if(childs[i].Trim().substr(0,childkey.length) == childkey)
                {
                    getvalue = childs[i].Trim().substr(childkey.length + 1);
                    break;
                }
            }
            return getvalue;
        };
        this.SetCookie = function(key,value,expire,domain,path)
        {
            var cookie = "";
            if(key != null && value != null)
                cookie += key + "=" + value + ";";
            if(expire != null)
                cookie += "expires=" + expire.toGMTString() + ";";
            if(domain != null)
                cookie += "domain=" + domain + ";";
            if(path != null)
                cookie += "path=" + path + ";";
            document.cookie = cookie;
        };
        this.Expire = function(key)
        {
            expire_time = new Date();
            expire_time.setFullYear(expire_time.getFullYear() - 1);
            var cookie = " " + key + "=e;expires=" + expire_time + ";"
            document.cookie = cookie;
        }
    }
    var cookie;
    var data;
    var tb
    function show(){
      var tb = document.createElement("table");
      tb.id="tbl";
      var tr = tb.insertRow();
      var td = tr.insertCell();
      td.innerHTML = "商品ID";
      td = tr.insertCell();
      td.innerHTML = "数量";
      td = tr.insertCell();
      td.innerHTML = "价格";
      td = tr.insertCell();
      td.innerHTML = "操作";
      
      for(var i=0;i<data.length;i++){
        tr = tb.insertRow();
          td = tr.insertCell();
          td.innerHTML = "<input value='" + data[i][0] + "' id='id" + i + "' onblur='update(" + i + ");'>";
          td = tr.insertCell();
          td.innerHTML = "<input value='" + data[i][1] + "' id='name" + i + "' onblur='update(" + i + ")'>";
          td = tr.insertCell();
          td.innerHTML = "<input value='" + data[i][2] + "' id='price" + i + "' onblur='update(" + i + ")'>";
          td = tr.insertCell();
          td.innerHTML = "<input type='button' value='修改' onclick='update(" + i + ")'><input type='button' value='删除' onclick='del(" + i + ")'>";
      }
      var pad = document.getElementById("pad");
      pad.innerHTML = "";
      pad.appendChild(tb);
    }
    function add(){
        var tb = document.getElementById("tbl");
          var i = tb.rows.length-1;
        var tr = tb.insertRow();
          var td = tr.insertCell();
          td.innerHTML = "<input value='' id='id" + i + "' onblur='update(" + i + ")'>";
          td = tr.insertCell();
          td.innerHTML = "<input value='' id='name" + i + "' onblur='update(" + i + ")'>";
          td = tr.insertCell();
          td.innerHTML = "<input value='' id='price" + i + "' onblur='update(" + i + ")'>";
          td = tr.insertCell();
          td.innerHTML = "<input type='button' value='修改' onclick='update(" + i + ")'><input type='button' value='删除' onclick='del(" + i + ")'>";
          data.add(['','','']);
    }
    function update(n){
        data[n][0] = document.getElementById("id"+n).value;    
        data[n][1] = document.getElementById("name"+n).value;    
        data[n][2] = document.getElementById("price"+n).value;
    }
    function del(n){
        data.remove(n);
        show();
    }
    function saveit(){
        var s = "";
        for(var i=0;i<data.length;i++){
            s += "['" + data[i][0] + "','" + data[i][1] + "','" + data[i][2] + "']";
            if(i!=data.length-1) s += ",";    
        }
        s = "[" + s + "]";
        var expire_time = new Date();
        expire_time.setFullYear(expire_time.getFullYear() + 1);
        cookie.SetCookie("data",s,expire_time,null,"/");
    }window.onload = function(){
      cookie = new JSCookie();
      var s = cookie.GetCookie("data");
      if(s == "") data = [];
      else eval("data=" + s);
      show();
    }
    </script>
    <input type="button" value="添加" onclick="add()">
    <input type="button" value="保存" onclick="saveit()">
    <div id="pad"></div>
      

  3.   

    标题:3000元/月 急聘兼职网络信息回复员,工资日结标题:急聘 网络兼职人员,100元/天!工资日结标题:急聘 兼职网络信息回复员(若干名)100元/天 工资日结--------------------------------------《宣传内容》---------------------------------------招聘人数: 若干名  薪资待遇: 工作每天3-5小时,100元/天工资每日支付;
    岗位描述: 负责公司所要求的信息回复工作(有内容样版),工作地点不限,专兼职均可!
    应聘要求: 上网熟练,平均每天工作投入约3小时,具体根据效率自定; 学历不限,在
    职或学生皆可;勤奋,认真,有责任感;熟悉用电脑发消息的整个流程。(很简单,学一下就会!) (入职不需交任何押金,手续费,更不会拖欠工资) 详情看公司招聘:http://soho.33se.cn/788232.htm邮箱:[email protected]