🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.javascript
1 messages
1 total messages Started by Juliette Tue, 05 Sep 2000 10:53
Problem basket boutique
#57
Author: Juliette
Date: Tue, 05 Sep 2000 10:53
150 lines
6167 bytes
Hello,


 I meet a big problem at the level of the basket, of a boutique (file
voir.js)
The customers can not command more than 20 articles different .
The 21-th article erases the 1-st.
Could you indicate to me lines concerned JavaScript ?
(I am not very good in Javascript .....)
How make possible order with  one  unlimited number of articles ?
Thank you in advance.

 Warmly,
Juliette  from France.


function view_cart() {
   mycookies=new Array(20);
   var i=0;
   var startpoint=0;
   whole_len=document.cookie.length;
   while(whole_len!=startpoint && i< 20)
   {
     if ((temlen=document.cookie.indexOf(";",startpoint))!=-1)
     {
 mycookies[i]=document.cookie.substring(startpoint,temlen);
 i++;
 startpoint=temlen+1
     }
     else if (startpoint != whole_len)
     {
        mycookies[i]=document.cookie.substring(startpoint,whole_len);
        i++;
        startpoint=whole_len;
     }
   }
    printtitle();
    for (j=0;j<i;j++)
     {
file://filter out cookies that are not used by shopping cart
 if((mycookies[j].substring(0,4)=="crea")||(mycookies[j].substring(0,5)=="
crea"))
    getCookie(mycookies[j]);
     }
    document.write("</table>");
}


function getCookie (acookie) {
    clen = acookie.length;
    nlen= acookie.indexOf("=",0);
    file://get rid of the "crea" at the beginning, thus start at 4
    if(acookie.substring(0,1)==" ")
       cname=acookie.substring(5,nlen);
    else
       cname= acookie.substring(4,nlen);
    bname= acookie.substring(nlen+1,clen);
    sname_len=cname.indexOf("+",0);
    store=cname.substring(0,sname_len);
    dlen=cname.indexOf("+",sname_len+1);
    descrip=cname.substring(sname_len+1,dlen)
    product=cname.substring(dlen+1,nlen);

    qlen=bname.indexOf("+",0);
    rlen=bname.indexOf("+",qlen+1);
    quant=bname.substring(0,qlen);
    if(quant==0)
 document.cookie="crea"+cname+"=bb; expires=Saturday, 16-Sep-90 23:59:59
GMT; path=/"+"";

    refer=bname.substring(qlen+1,rlen);
    price=bname.substring(rlen+1,clen-nlen)*quant;
    price=price_format(price);
    printcontent();
}

function putback(str1){
  document.cookie="crea"+str1+"=bb; expires=Saturday, 16-Sep-90 23:59:59
GMT; path=/"+"";
}

// There's no need to touch anything above this line
// You can use "store","descrip","product","quant","price"
// and "refer" in the code below

function printtitle(){
tabletitle="<TABLE WIDTH=500 BORDER=0 BGCOLOR=#000000 ALIGN=CENTER><tr> \
<TD WIDTH=100><FONT SIZE=2 FACE=Arial
COLOR=#FFFFFF><B>Produit</B></FONT></td> \
<TD WIDTH=250><FONT SIZE=2 FACE=Arial
COLOR=#FFFFFF><B>D&eacute;signation</B></FONT></td> \
<TD WIDTH=50 Align=CENTER><FONT SIZE=2 FACE=Arial
COLOR=#FFFFFF><B>Qt&eacute;</B></FONT></td> \
<TD WIDTH=100 align=RIGHT><FONT SIZE=2 FACE=Arial COLOR=#FFFFFF><B>Montant
TTC&nbsp;</B></FONT></td> \
<td> </td></tr>";
document.write(tabletitle);
}

function printcontent(){
  if(quant!=0){
    document.write("<tr align=LEFT><TD WIDTH=100 BGCOLOR=#FFFFFF
VALIGN=TOP><FONT SIZE=2 FACE=Arial><B>"+product+"</B></FONT></td><TD
WIDTH=250 BGCOLOR=#FFFFFF VALIGN=TOP><FONT SIZE=2 FACE=Arial><B>");
    document.write(descrip+"</B></FONT></td><TD WIDTH=50 BGCOLOR=#FFFFFF
Align=CENTER VALIGN=TOP><FONT SIZE=2
FACE=Arial><B>"+quant+"</B></FONT></td><TD WIDTH=100 BGCOLOR=#FFFFFF
align=RIGHT VALIGN=TOP><FONT SIZE=2 FACE=Arial><B>");
    document.write(price+"</B></FONT></td>");
    document.write("<TD><form><input type=submit value=Enlever ");
    document.write("onClick=\"putback(\'"+store+"+"+descrip+"+"+product);
    document.write("\')\"></form></td></tr>");
   }
}

file://add a field so that shopper can change amount of product in cart
function printcontent2(){
  if(quant!=0){
    document.write("<tr align=center><td BGCOLOR=#FFFFFF>"+product+"</td><td
BGCOLOR=#FFFFFF>");
    document.write(descrip+"</td><td BGCOLOR=#FFFFFF><form method=get ");
    document.write("action=voir.html><input type=text size=3");
    document.write(" name=quantity value="+quant+">");
    document.write("<input type=hidden name="+price);
    document.write(" value=\""+descrip+"\">");
    document.write("<input type=hidden name=\""+product);
    document.write("\" value=\""+store+"\"></td><td>");
    document.write(price+"</td><td BGCOLOR=#FFFFFF>"+"<a
href="+refer+">"+store+"</a>");
    document.write("</td><td BGCOLOR=#FFFFFF><input type=submit value=update
onClick=");
    document.write("addtocart(this.form,'voir.html')>");
    document.write("</form></td></tr>");
   }
}

function price_format(tmpprice){
// get rid off the extra digits behind "."
   dot = tmpprice.toString().indexOf(".");
   if(dot!=-1)
      tmpprice=tmpprice.toString().substr(0,dot+4);
   tmpprice=Math.round(tmpprice*100)/100;
// add "0" if necessary
   dot = tmpprice.toString().indexOf(".");
   if(dot ==-1)
      tmpprice=tmpprice.toString()+".00";
   else if((tmpprice.toString().length-dot)==2)
      tmpprice=tmpprice.toString()+"0";
   return tmpprice;
}
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads