Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2007, 16:09
tocalasam
 
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 142
Antigüedad: 21 años, 8 meses
Puntos: 1
problema con carrito de la compra

Buenas a todos

debisos a mis escasos conocimientos de .asp, me he baado una version demo del carrito de midicart, el cual tiene la limitacion de que en el formualrio dinal no te envia d
el detalle de los articulos, solo el importe y los datos del formulario.


ME podriais echar un cable???

El formulario final dice algo asi mediante una funcion javascrpt/asp:
Código:
<!-- #INCLUDE FILE="settings.asp" -->

<html>

<head>

<TITLE>MidiCart ASP - Evaluation Version</TITLE>

<link rel="stylesheet" HREF="master_style.css">

</head>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#660101" VLINK="#660101" ALINK="#F70404">

<%
Function RandNo()
Randomize
RandNo = Int(99999999 * Rnd + 3)
End Function
%>



<form onSubmit="return form_validator(this)" action="order_final.asp" method=post>

<INPUT TYPE="hidden" NAME="order_id" VALUE="<%=RandNo()%>" SIZE="40">




<script LANGUAGE="JavaScript">

	function alterError(value) {
		if (value<=0.99) {
			newDollar = '0';
		} else {
			newDollar = parseInt(value);
		}
		newCent = parseInt((value+.0008 - newDollar)* 100);
		if (eval(newCent) <= 9) newCent='0'+newCent;
		newString = newDollar + '.' + newCent;
		return (newString);
	}

	// showItems in orderform

	function showItems() {
		index = document.cookie.indexOf("ShoppingBasket");
		countbegin = (document.cookie.indexOf("=", index) + 1);
        	countend = document.cookie.indexOf(";", index);
        	if (countend == -1) {
            		countend = document.cookie.length;
        	}
		fulllist = document.cookie.substring(countbegin, countend);
		subtotal = 0;
		subweight = 0;
		document.writeln('<table cellpadding="2" cellspacing="1" border="0">');

		document.writeln('<TR><TD BGCOLOR="#B3B3B3"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_qty%></b></FONT></TD><TD  BGCOLOR="#B3B3B3"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_code_no%></b></FONT></TD><TD BGCOLOR="#B3B3B3"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_item%></b></FONT></TD><TD BGCOLOR="#B3B3B3"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_price%>&nbsp;<%=txt_currency%></b></FONT></TD><td BGCOLOR="#B3B3B3"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_total%></b></FONT></td></TR>');
		itemlist = 0;
		for (var i = 0; i <= fulllist.length; i++) {
			if (fulllist.substring(i,i+1) == '[') {
				thisitem = 1;
				itemstart = i+1;
			} else if (fulllist.substring(i,i+1) == ']') {
				itemend = i;
				thequantity = fulllist.substring(itemstart, itemend);
				itemtotal = 0;
				itemtotal = (eval(theprice*thequantity));
				temptotal = itemtotal * 100;
				subtotal = subtotal + itemtotal;
				weighttotal = 0;
				weighttotal = (eval(theweight*thequantity));
				subweight = subweight + weighttotal;
				itemlist=itemlist+1;
				document.write('<tr><td align=middle BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+thequantity+'</FONT></td>');
				document.writeln('<td BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><a href=item_show.asp?code_no='+thenumber+'>'+thenumber+'</A></FONT></td><td align=left BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif"><a href=item_show.asp?code_no='+thenumber+'>'+theitem+'</A></FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+theprice+'</FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+alterError(itemtotal)+'</FONT></td></tr>');
		  
			} else if (fulllist.substring(i,i+1) == '|') {
				if (thisitem==1) theitem = fulllist.substring(itemstart, i);
				if (thisitem==2) theprice = fulllist.substring(itemstart, i);
				if (thisitem==3) thenumber = fulllist.substring(itemstart, i);
				if (thisitem==4) theweight = fulllist.substring(itemstart, i);
				thisitem++;
				itemstart=i+1;
			}
		}

		
		totprice = (Math.round(subtotal*100)/100);
	      shipping = subweight+<%=add_freight%>;
		totalcost = (totprice+shipping);
            tax = (Math.round(totalcost*<%=add_tax%>)/100);


		document.writeln('<tr><td align=right BGCOLOR="#B3B3B3" colspan=4><font size="-2" face="Verdana, Arial, 		Helvetica, sans-serif"><b><%=txt_product_total%></b></FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+alterError(totprice)+'</FONT></td></tr>');

		document.writeln('<tr><td align=right BGCOLOR="#B3B3B3" colspan=4><font size="-2" face="Verdana, Arial, 		Helvetica, sans-serif"><b><%=txt_shipping%></b></FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+alterError(shipping)+'</FONT></td></tr>');

<%if add_tax > "0" then%>
		document.writeln('<tr><td align=right BGCOLOR="#B3B3B3" colspan=4><font size="-2" face="Verdana, Arial, 		Helvetica, sans-serif"><b><%=txt_tax%></b></FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+alterError(tax)+'</FONT></td></tr>');
<% end if %>

		document.writeln('<tr><td align=right BGCOLOR="#B3B3B3" colspan=4><font size="-2" face="Verdana, Arial, 		Helvetica, sans-serif"><b><%=txt_grand_total%>&nbsp;<%=txt_currency%></b></FONT></td><td align=right BGCOLOR="#D9D9D9"><font size="-2" face="Verdana, Arial, Helvetica, sans-serif">'+alterError(totalcost+tax)+'</FONT></td></tr>');

  		document.writeln('<INPUT TYPE="hidden" NAME="total" VALUE="'+alterError(totalcost+tax)+'" SIZE="40">');

		document.writeln('</TABLE>');

	}

</script>



<center><font size="5" face="Verdana, Arial, Helvetica, sans-serif"><b><%=txt_order_form%></B></FONT>
<BR><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Invoice / Money Order</B></FONT></center>
<HR WIDTH=90% size=1 COLOR="#000000">
<CENTER>
<script LANGUAGE="JavaScript">
	showItems();
</script></CENTER>
<BR>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<DIV align="center"><%=txt_provide_information%></DIV>
</FONT>
<CENTER>

y el formulario que recupera y envia mediante ASPMAIL es este:


Código:
<!-- #INCLUDE FILE="settings.asp" -->


<%

	strHost = smtp_server
		
      Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
	
	Mailer.RemoteHost = strHost
  
	Mailer.FromName = Request.form("email")
	Mailer.Subject = "Online Order - " & company_name & " - " &Request.form("order_id")
         Mailer.FromAddress = Request.form("email")
         Mailer.AddRecipient Request.form("namn"), Request.form("email")
	Mailer.AddCC "", "" & receipt & ""
	Mailer.BodyText = "Invoice - Order Number = "&Request.form("order_id")& vbcrlf & vbcrlf&_ 
	Request.form("email")& vbcrlf&_
	Request.form("company")& vbcrlf&_ 
	Request.form("name")& vbcrlf&_ 
	Request.form("address")& vbcrlf&_ 
	Request.form("address2")& vbcrlf&_ 
	Request.form("city")& vbcrlf&_ 
	Request.form("state")& vbcrlf&_ 
	Request.form("zip")& vbcrlf&_ 
	Request.form("country")& vbcrlf&_ 
	Request.form("phone")& vbcrlf & vbcrlf&_ 
	Request.form("comment")& vbcrlf & vbcrlf&_
	"Total " & txt_currency & " " & Request.form("total") & vbcrlf & vbcrlf&_
	"Order" & vbcrlf&_ 


	"Sorry, no items in this demo order"& vbcrlf & vbcrlf&_
	
      if Mailer.SendMail then 
      Response.redirect "response.asp"
       else 
      Response.Write "Mail send failure. Error was " & Mailer.Response
      end if 

%>

¿alguien sabe como puedo recuperar los items para que este form los envio junto al resto de los datos??


muchas gracias