Foros del Web » Programando para Internet » ASP Clásico »

Añadir forma de pago a un carrito de compra

Estas en el tema de Añadir forma de pago a un carrito de compra en el foro de ASP Clásico en Foros del Web. Hola a todos. He creado una tienda virtual. Funciona perfectamente. Me gustaría añadir dos formas de pago. Esto no es dificil. Si el cliente elige ...
  #1 (permalink)  
Antiguo 17/07/2007, 04:01
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Exclamación Añadir forma de pago a un carrito de compra

Hola a todos.

He creado una tienda virtual. Funciona perfectamente.
Me gustaría añadir dos formas de pago. Esto no es dificil. Si el cliente elige transferencia bancaria, se queda todo igual. Pero si elige contrareembolso se añade un 5% al valor total del pedido. Y además me gustaría que se actualizaran los datos en la misma página.

Pues me he atrancado y no puedo continuar.

Dejo aquí el código:

Lleva usted solicitados los siguientes productos</span>
</div>
<form method="post" action="borrar2.asp" name="formi">
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#EDEDDE">
<tr bgcolor="#EDEDDE" class="oscuro-pequeno">
<th width="20"> </th>
<th width="112"> Producto </th>
<th width="65"> Unidades </th>
<th width="69"> Precio </th>
<th width="165" bgcolor="#EDEDDE"> Total </th>
</tr>
<%
Total = 0
For Each producto In Request.Cookies ("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
Tabla.Filter = "cod_producto='" & producto & "'"
%>
<tr class="title_down">
<td><input type="checkbox" name="Borrar"
value="<%= producto %>">
</td>
<td><font class="casillero"><%= Tabla ("producto") %></font> </td>
<td align="center"><font class="casillero"><%=Request.Cookies ("Compra")(producto)%></font> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla ("precio_producto"), 2)%></font> <span class="textorojo">Euros</span> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla("precio_pr oducto")*Request.Cookies("Compra")(producto),2)%></font> <span class="textorojo">Euros</span> </td>
</tr>
<%
Total = Total + Tabla ("precio_producto") * _
Request.Cookies ("Compra")(producto)
End If
Next
%>
<tr class="description">
<td colspan="2"><input type="button" class="texto_mas_pequeno"
onClick="borrar()" value="Eliminar">
</td>
<td colspan="2" align="right" class="texto_mas_pequeno">&nbsp;</td>
<td align="right"><span class="articulo">Total:</span> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span></td>
</tr>
</table>
</form>
<input type="button" class="textorojonegrita"
onClick="location.href='pagar2.asp'" value="Realizar el pago">


Funciona perfectamente. ¿Cómo añadir ese 5% de gastos en caso de que el cliente elija forma de pago contrareembolso?

Gracias de antemano!

GUW
  #2 (permalink)  
Antiguo 19/07/2007, 08:35
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: Añadir forma de pago a un carrito de compra

Eso lo deberías hacer con JavaScript.
Lo que podés hacer es calcular el 5% en ASP, por ejemplo
TotalPorcentaje = (Total*5)/100+Total

Entonces después tenés un checkbox que diga Contrareembolso o algo por el estilo y cuando hace click llamás a una función de javascript.

Por decirte algo

<input type="checkbox" onclick="javascript:actualizar(this.checked);">con trareembolso

después javascript:
<script language="javascript">
function actualizar(chequeado){
if(chequeado==true){
trC.style.display = "inline";
}
else{
trC.style.display = "none";
}
}
</script>

<tr id="trC" style="display:none">
<td><%=TotalPorcentaje %></td>
</tr>


Bueno, lo hice así rápido, pero creo que eso podría andar... chequealo y cualquier cosita avisame.

SALUDOS!
__________________
La Perfección es enemigo de lo bueno.
  #3 (permalink)  
Antiguo 23/07/2007, 02:20
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Añadir forma de pago a un carrito de compra

Hi, Cbas. Gracias por tu mensaje.
Lo estoy intentado, pero realmente no sé donde insertarlo para que actualice el total en el momento de clickear la forma de pago contrarrembolso.

Ahora me da error. Este es código final, aunque sé que falla por algún lado. Cuando checkeo contrareembolso me sale el mensaje: False.

En ello estamos! Si ves algo, te rogaría me lo indicaras... Saludos!:

<%
Option Explicit

'Definición de variables

Dim Base 'Objeto Connection para acceder a la base de datos
Dim Tabla 'Objeto RecordSet para realizar consultas
Dim SQL 'String para crear la consulta SQL
Dim producto 'Variable auxiliar para recorrer los productos
Dim TotalPorcentaje
Dim Total 'Total del dinero gastado

'Fin de la definición de variables

SET Base = Server.CreateObject ("ADODB.Connection")
SET Tabla = Server.CreateObject ("ADODB.RecordSet")
Base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/globalnatureimages.com/private/tiendagab.mdb"
SQL = "SELECT cod_producto, producto, precio_producto From productos"
Tabla.Open SQL, Base, 3,3

%>

<link href="scripts/tiendagab.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Estilo1 {color: #CCCCCC}
body {
background-image: url(imagenes/design/fondo.gif);
}
-->
</style>
<title>Cesta de la Compra</title>
<script language="javascript">
<!--
function borrar()
{
if(confirm('¿Desea eliminar los productos seleccionados?'))
{
document.formi.submit()
}
}
//-->
</script>
<body>
<br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#FFFFFF">
<td colspan="2" align="left" valign="middle" bgcolor="#F6F6EE"><div align="left">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%"><img src="recursos/logo_web3.jpg" width="157" height="52"></td>
<td width="66%"><div align="center"><img src="recursos/title.jpg" width="348" height="52"></div></td>
<td width="16%">&nbsp;</td>
</tr>
</table>
</div></td>
<td align="right" valign="bottom" bgcolor="#F6F6EE"><img src="recursos/esq_esq.jpg" width="6" height="57"></td>
</tr>
<tr>
<td width="2%" height="7" align="left" valign="bottom"><img src="recursos/esq_lf.jpg" width="17" height="7"></td>
<td width="97%" background="recursos/shadow.jpg"></td>
<td width="1%" align="right" valign="bottom"><img src="recursos/esq_rg.jpg" width="12" height="7"></td>
</tr>
</table>
<table width="90%" align="center" cellpadding="0" cellspacing="0" background="recursos/midium_part.jpg">
<tr bgcolor="#63461B">
<td width="22" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B" class="blanco-pequeno"><img src="recursos/esq_larr.jpg" width="22" height="15"></td>
<td width="135" height="15" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B" class="blanco-pequeno">www.gabfishing.com</td>
<td width="568" height="15" valign="top" bordercolor="#63461B" bgcolor="#63461B"><div align="center">
<span class="blanco-pequeno"> </td>
<td width="126" height="15" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B"></td>
<td width="22" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B"><img src="recursos/esq_rarr.jpg" width="22" height="15"></td>
</tr>
<tr bgcolor="#EDEDDE">
<td height="5" colspan="5" align="center" valign="top" bordercolor="#63461B" class="blanco-pequeno"></td>
</tr>
</table>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="100" align="center" valign="top" bgcolor="#FFFFE8"><table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>
</td>
<td valign="top"><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> <div align="center"><span class="texto"><br>
<br>
Lleva usted solicitados los siguientes productos</span>
</div>
<form method="post" action="borrar2.asp" name="formi">
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#EDEDDE">
<tr bgcolor="#EDEDDE" class="oscuro-pequeno">
<th width="20"> </th>
<th width="112"> Producto </th>
<th width="65"> Unidades </th>
<th width="69"> Precio </th>
<th width="165" bgcolor="#EDEDDE"> Total </th>
</tr>
<%
Total = 0
For Each producto In Request.Cookies ("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
Tabla.Filter = "cod_producto='" & producto & "'"
%>
<tr class="title_down">
<td><input type="checkbox" name="Borrar"
value="<%= producto %>">
</td>
<td><font class="casillero"><%= Tabla ("producto") %></font> </td>
<td align="center"><font class="casillero"><%=Request.Cookies ("Compra")(producto)%></font> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla ("precio_producto"), 2)%></font> <span class="textorojo">Euros</span> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla("precio_pr oducto")*Request.Cookies("Compra")(producto),2)%></font> <span class="textorojo">Euros</span> </td>
</tr>
<%
Total = Total + Tabla ("precio_producto") * _
Request.Cookies ("Compra")(producto)
End If
Next
%>
<tr class="description">
<td colspan="2"><input type="button" class="texto_mas_pequeno"
onClick="borrar()" value="Eliminar">
</td>
<td colspan="2" align="right" class="texto_mas_pequeno"><span class="texto_mas_pequeno_verde">+ 7.50 Euros</span> <br>
Gastos de env&iacute;o </td>
<td align="right"><span class="articulo">Total:</span> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span></td>
</tr>
<tr class="description">
<td colspan="5">
<input type="checkbox" onclick="javascript:actualizar(this.checked);">con trareembolso
<script language="javascript">
function actualizar(chequeado){
if(chequeado==true){
trC.style.display = "inline";
}
else{
trC.style.display = "none";
}
}
</script>

<tr id="trC" style="display:none">
<td><%=TotalPorcentaje = (Total*5)/100+Total%>


&nbsp;</td>
</tr>
</table>
</form>
<input type="button" class="textorojonegrita"
onClick="location.href='pagar2.asp'" value="Realizar el pago">
<br>
<br>
[<a href="javascript:history.back()" class="texto_mas_pequeno_verde">volver</a>]

</table>

<br>

<table width="90%" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#FFFFFF"><tr align="center" valign="top" bgcolor="#FFFFFF">

</table>

</td><td width="100" valign="top" bgcolor="#FFFFE8"><table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>
</td>
<td width="6" valign="top" background="recursos/esq_esq_p.jpg" bgcolor="#FFFFE8">&nbsp;</td>
</tr>
<tr>
<td height="6" colspan="3" background="recursos/esq_esq_p_d.jpg"></td>
<td background="recursos/esq_r.jpg"></td>
</tr>
</table>

<%

Tabla.Close
Base.Close
SET Tabla = Nothing
SET Base = Nothing

%>

Última edición por GUW; 23/07/2007 a las 02:37
  #4 (permalink)  
Antiguo 28/07/2007, 01:47
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Añadir forma de pago a un carrito de compra

Algo falla...

Última edición por GUW; 03/08/2007 a las 02:46
  #5 (permalink)  
Antiguo 03/08/2007, 02:46
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Añadir forma de pago a un carrito de compra

Amigo CBas: Estoy en ello, pero no llego a terminarlo.
Me sale "False", y cuando pulso el box de contrareembolso no llega a calcularme nada, sólo me pone 0.

¿Donde crees que puede estar el error? Estoy a punto...

<%
Option Explicit

'Definición de variables

Dim Base 'Objeto Connection para acceder a la base de datos
Dim Tabla 'Objeto RecordSet para realizar consultas
Dim SQL 'String para crear la consulta SQL
Dim producto 'Variable auxiliar para recorrer los productos
Dim Total 'Total del dinero gastado
Dim TotalPorcentaje

TotalPorcentaje = (Total*5)/100+Total

'Fin de la definición de variables


SET Base = Server.CreateObject ("ADODB.Connection")
SET Tabla = Server.CreateObject ("ADODB.RecordSet")
Base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/globalnatureimages.com/private/tiendagab.mdb"
SQL = "SELECT cod_producto, producto, precio_producto From productos"
Tabla.Open SQL, Base, 3,3

%>

<link href="scripts/tiendagab.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Estilo1 {color: #CCCCCC}
body {
background-image: url(imagenes/design/fondo.gif);
}
-->
</style>
<title>Cesta de la Compra</title>
<script language="javascript">
<!--
function borrar()
{
if(confirm('¿Desea eliminar los productos seleccionados?'))
{
document.formi.submit()
}
}
//-->
</script>
<body>
<br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#FFFFFF">
<td colspan="2" align="left" valign="middle" bgcolor="#F6F6EE"><div align="left">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="18%"><img src="recursos/logo_web3.jpg" width="157" height="52"></td>
<td width="66%"><div align="center"><img src="recursos/title.jpg" width="348" height="52"></div></td>
<td width="16%">&nbsp;</td>
</tr>
</table>
</div></td>
<td align="right" valign="bottom" bgcolor="#F6F6EE"><img src="recursos/esq_esq.jpg" width="6" height="57"></td>
</tr>
<tr>
<td width="2%" height="7" align="left" valign="bottom"><img src="recursos/esq_lf.jpg" width="17" height="7"></td>
<td width="97%" background="recursos/shadow.jpg"></td>
<td width="1%" align="right" valign="bottom"><img src="recursos/esq_rg.jpg" width="12" height="7"></td>
</tr>
</table>
<table width="90%" align="center" cellpadding="0" cellspacing="0" background="recursos/midium_part.jpg">
<tr bgcolor="#63461B">
<td width="22" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B" class="blanco-pequeno"><img src="recursos/esq_larr.jpg" width="22" height="15"></td>
<td width="135" height="15" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B" class="blanco-pequeno">www.gabfishing.com</td>
<td width="568" height="15" valign="top" bordercolor="#63461B" bgcolor="#63461B"><div align="center">
<span class="blanco-pequeno"> </td>
<td width="126" height="15" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B"></td>
<td width="22" align="center" valign="top" bordercolor="#63461B" bgcolor="#63461B"><img src="recursos/esq_rarr.jpg" width="22" height="15"></td>
</tr>
<tr bgcolor="#EDEDDE">
<td height="5" colspan="5" align="center" valign="top" bordercolor="#63461B" class="blanco-pequeno"></td>
</tr>
</table>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="100" align="center" valign="top" bgcolor="#FFFFE8"><table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>
</td>
<td valign="top"><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> <div align="center"><span class="texto"><br>
<br>
Lleva usted solicitados los siguientes productos</span>
</div>
<form method="post" action="borrar2.asp" name="formi">
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#EDEDDE">
<tr bgcolor="#EDEDDE" class="oscuro-pequeno">
<th width="20"> </th>
<th width="112"> Producto </th>
<th width="65"> Unidades </th>
<th width="69"> Precio </th>
<th width="165" bgcolor="#EDEDDE"> Total </th>
</tr>
<%
Total = 0
For Each producto In Request.Cookies ("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
Tabla.Filter = "cod_producto='" & producto & "'"
TotalPorcentaje = (Total*5)/100+Total%>

<tr class="title_down">
<td><input type="checkbox" name="Borrar"
value="<%= producto %>">
</td>
<td><font class="casillero"><%= Tabla ("producto") %></font> </td>
<td align="center"><font class="casillero"><%=Request.Cookies ("Compra")(producto)%></font> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla ("precio_producto"), 2)%></font> <span class="textorojo">Euros</span> </td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla("precio_pr oducto")*Request.Cookies("Compra")(producto),2)%></font> <span class="textorojo">Euros</span> </td>
</tr>
<%
Total = Total + Tabla ("precio_producto") * _
Request.Cookies ("Compra")(producto)
End If
Next
%>

<tr class="description">
<td colspan="2"><input type="button" class="texto_mas_pequeno"
onClick="borrar()" value="Eliminar">
</td>
<td colspan="2" align="right" class="texto_mas_pequeno"><span class="texto_mas_pequeno_verde">+ 7.50 Euros</span> <br>
Gastos de env&iacute;o </td>
<td align="right"><span class="articulo">Total:</span> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span></td>
</tr>
<tr class="description">
<td colspan="5">
<input type="checkbox" onclick="javascript:actualizar(this.checked);">
<span class="textopequeniooscuro">contrareembolso</span>

<script language="javascript">
function actualizar(chequeado){
if(chequeado==true){
trC.style.display = "inline";
}
else{
trC.style.display = "none";
}
}
</script>

<tr id="trC" style="display:none">
<td><%= FormatNumber (TotalPorcentaje,2)%></td>
</tr>
</table>
</form>
<input type="button" class="textorojonegrita"
onClick="location.href='pagar2.asp'" value="Realizar el pago">
<br>
<br>
[<a href="javascript:history.back()" class="texto_mas_pequeno_verde">volver</a>]

</table>

<br>

<table width="90%" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#FFFFFF"><tr align="center" valign="top" bgcolor="#FFFFFF">

</table>

</td><td width="100" valign="top" bgcolor="#FFFFE8"><table width="100%" border="0" cellspacing="0" cellpadding="0">

</table>
</td>
<td width="6" valign="top" background="recursos/esq_esq_p.jpg" bgcolor="#FFFFE8">&nbsp;</td>
</tr>
<tr>
<td height="6" colspan="3" background="recursos/esq_esq_p_d.jpg"></td>
<td background="recursos/esq_r.jpg"></td>
</tr>
</table>

<%

Tabla.Close
Base.Close
SET Tabla = Nothing
SET Base = Nothing

%>

Última edición por GUW; 03/08/2007 a las 03:05
  #6 (permalink)  
Antiguo 03/08/2007, 03:11
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Añadir forma de pago a un carrito de compra

Lo tengo!!
Gracias Cbas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.