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%> <%=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%> <%=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