Foros del Web » Programando para Internet » Javascript »

carrito y frames

Estas en el tema de carrito y frames en el foro de Javascript en Foros del Web. Hola, soy nuevo en el foro, llevo ya tiempo leyéndoos y realmente he solucionado gran cantidad de problemas mirando los mensajes de otros usuarios. Ahora ...
  #1 (permalink)  
Antiguo 13/05/2006, 14:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
carrito y frames

Hola, soy nuevo en el foro, llevo ya tiempo leyéndoos y realmente he solucionado gran cantidad de problemas mirando los mensajes de otros usuarios.
Ahora tengo un problema que no se resolver por eso me animé a participar(por ahora controlo de esto y no habria podido aportar mucho). Voy al problema.
Estoy haciendo una web con un carrito de compra, esta web se divide en 2 frames:a la izquierda aparece todo el rato el menú y a la derecha las paginas a las que vas acediendo. El carrito tiene un botón para eliminar un solo producto y otro para vaciar el carrito completamente.
Todo va bien hasta que pulso uno de esos 2 botones, entonces el carrrito pasa a ocupar toda la pantalla, es decir desaparece la parte del frame del menu y se queda la pantalla completa solo con el carrito.
Se poco de html y nada de jacascript(que es en lo que esta echo el carrito ya que lo conseguí echo y lo fui adaptando poco a poco).
Bien, agradezco cualquier ayuda para que al pulsar estos botones el carro se vacie pero se quede en el marco de la derecha sin que desaparezca el de la izquierda.
Os adjunto el codigo
Muchas gracias

script del carrito

<SCRIPT LANGUAGE="JavaScript">

function alterError(value) {
if (value<=0.99) {
newPounds = '0';
} else {
newPounds = parseInt(value);
}
newPence = parseInt((value+.0008 - newPounds)* 100);
if (eval(newPence) <= 9) newPence='0'+newPence;
newString = newPounds + '.' + newPence;
return (newString);
}
function showItems() {
index = document.cookie.indexOf("TheBasket");
countbegin = (document.cookie.indexOf("=", index) + 1);
countend = document.cookie.indexOf(";", index);
if (countend == -1) {
countend = document.cookie.length;
}
fulllist = document.cookie.substring(countbegin, countend);
totprice = 0;
document.writeln('<form><table border="1" cellspacing="0" width="640" bgcolor="#E0E0E0" bordercolor="#FFFFFF" class="td">');

document.writeln('<TR><TD width="250"><b>Producto</b></TD><TD width="80" align="right"><b>Cantidad</b></TD><TD width="120" align="right"><b>Costo x unidad</b></TD><td width="100" align="right"><b>Costo total</b><TD width="90">&nbsp;</TD></TR>');
itemlist = 0;
for (var i = 0; i <= fulllist.length; i++) {
if (fulllist.substring(i,i+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;
var tax = itemtotal / 100 * (0 - 0);
tax = Math.floor(tax * 100)/100
totprice = totprice + itemtotal + tax;
itemlist=itemlist+1;
document.writeln('<tr><td>'+theitem+'</td><td align=right>'+thequantity+'</td><td align=right>'+theprice+'</td><td align=right>'+alterError(itemtotal)+'</td><td align=center><input TYPE="button" NAME="remove" VALUE="Quitar" onclick="javascript:removeItem('+itemlist+')"></td></tr>');
} else if (fulllist.substring(i,i+1) == ',') {
theitem = fulllist.substring(itemstart, i);
itemstart = i+1;
} else if (fulllist.substring(i,i+1) == '#') {
theprice = fulllist.substring(itemstart, i);
itemstart = i+1;
}
}



document.writeln('<tr><td colspan=3><b>Total</b></td><td align=right>'+alterError(totprice)+'</td><td>&nbsp;</td></tr>');
document.writeln('</TABLE>');
}

function removeItem(itemno) {
newItemList = null;
itemlist = 0;
for (var i = 0; i <= fulllist.length; i++) {
if (fulllist.substring(i,i+1) == '[') {
itemstart = i+1;
} else if (fulllist.substring(i,i+1) == ']') {
itemend = i;
theitem = fulllist.substring(itemstart, itemend);
itemlist=itemlist+1;
if (itemlist != itemno) {
newItemList = newItemList+'['+fulllist.substring(itemstart, itemend)+']';
}
}
}
index = document.cookie.indexOf("TheBasket");
document.cookie="TheBasket="+newItemList;
top.location = "cesta.htm";
}

function clearBasket() {
if (confirm('¿Confirmas que deseas vaciar la cesta?')) {
index = document.cookie.indexOf("TheBasket");
document.cookie="TheBasket=.";
top.location = "cesta.htm";
}
}
</SCRIPT>


(arriba destaque en negrita el punto donde esta el boton quitar)

punto donde esta el boton vaciar cesta
<td width="50%" align="right">[ <a href ="javascript:clearBasket()">Vaciar Cesta
</a> ]</td>
  #2 (permalink)  
Antiguo 15/05/2006, 10:37
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
reemplaza los top.location = "cesta.htm"; con location="cesta.htm";
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 15/05/2006, 11:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tema trasladado desde Web general a javascript
__________________
Javascript Códigos - Bambú difunde
  #4 (permalink)  
Antiguo 15/05/2006, 12:12
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
Sonrisa Gracias

Muchísimas gracias Mickel, da gusto con gente así, a lo mejor para los que controlais es una tontería, pero yo no lo hubiera solucionado solo ni en un millón de años.Ojalá algún día yo pueda colaborar de la misma forma. Repito gracias.


Saludos cordiales.
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 02:19.