Foros del Web » Programando para Internet » Javascript »

armar la ruta

Estas en el tema de armar la ruta en el foro de Javascript en Foros del Web. hola tengo esta funcion: Código: function aumentar(p){ document.f.canti1.value = (document.f.canti1.value * 1) + 1; document.f.precio_cant1.value = document.f.precio1.value * document.f.canti1.value ; } asi anda bien. pero ...
  #1 (permalink)  
Antiguo 16/04/2005, 09:41
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
armar la ruta

hola tengo esta funcion:
Código:
 
function aumentar(p){ 
  
           document.f.canti1.value = (document.f.canti1.value * 1) + 1;
		   document.f.precio_cant1.value = document.f.precio1.value * document.f.canti1.value ;
}
asi anda bien. pero lo que yo quiero es que en vez de poner manualmente el "1" ,del nombre del campo a modificar, me lo ponga con el parametro que le paso a la funcion

pense que era asi: (obviamente no funca ijij)
Código:
function aumentar(p){ 
  
           document.f.canti+p+.value = (document.f.canti+p+.value * 1) + 1;
		   document.f.precio_cant+p+.value = document.f.precio+p+.value * document.f.canti+p+.value ;
}
solucion??
__________________
-----------------
_
__|_|__
º(-_-)º
  #2 (permalink)  
Antiguo 16/04/2005, 12:09
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
Hola gdb7,

prueba así

Código:
function aumentar(p){ 
  
           eval("document.f.canti" + p + ".value = (document.f.canti" + p + ".value * 1) + 1");
		   eval("document.f.precio_cant"+ p + ".value = document.f.precio" + p + ".value * document.f.canti" + p + ".value") ;
}
  #3 (permalink)  
Antiguo 16/04/2005, 18:05
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
me tira error.

"se esperaba un objeto"
__________________
-----------------
_
__|_|__
º(-_-)º
  #4 (permalink)  
Antiguo 17/04/2005, 00:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola gdb7 y tunait:

Usando los arrays asociativos podrías conseguirlo...
Consiste en cambiar la palabra que tienes entre puntos por corchetes y dentro una cadena...

function aumentar(p){
document.f["canti" +p].value = parseInt(document.f["canti"+p].value) + 1;
document.f["precio_cant"+p].value = parseInt(document.f["precio"+p].value * parseInt(document.f["canti"+p].value ;
}

No sé para que es la multiplicación por uno, y pensando que se trataba de convertir la cadena a un númerousé parseInt (para flotanyes está parseFloat)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 17/04/2005, 09:54
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
me sigue tirando el error :(
__________________
-----------------
_
__|_|__
º(-_-)º
  #6 (permalink)  
Antiguo 17/04/2005, 10:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

¿Puedes enseñarnos como tienes la página?
¿Seguro que existen los campos ... ?

Prueba poniendo como parámetro una constante... [onclick="aumentar(1)"]
Suelo usarlo y no me dá problemas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 17/04/2005, 10:11
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola gdb7

Podrías poner el formulario que estás usando y especificar en que línea te da el error.

Saludos,
  #8 (permalink)  
Antiguo 18/04/2005, 13:48
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
<form name="f" method="post" action="">
<input name="canti<?=$p?>" type="text" class="TextBox2" id="canti<?=$p?>" value=1 size="1" maxlength="2">
<img src="imgs/gral/mas.gif" width="12" height="12" onClick="aumentar(<?=$p?>);" >
<img src="imgs/gral/menos.gif" width="12" height="12" onClick="restar(<?=$p?>);">
<input name="precio<?=$p?>" type="text" class="TextBox3" value=<?=$row['PRECIO']?>
input name="precio_cant<?=$p?>" type="text" class="TextBox3" value=<?=$precio_cant?> size="6">
</form>

ahi ta el formu
__________________
-----------------
_
__|_|__
º(-_-)º
  #9 (permalink)  
Antiguo 18/04/2005, 13:49
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
obvio que los <?=$p?> y otros los toma de php
__________________
-----------------
_
__|_|__
º(-_-)º
  #10 (permalink)  
Antiguo 18/04/2005, 15:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por gdb7
obvio que los <?=$p?> y otros los toma de php
Conozco poco php y también asp, pero me suena a mezcla...

Para php me parece que es <? echo $p; ?>

Pero este foro es javascript, así que sería mejor que pusieras el código de la página "resultante" y no de la "fuente"... (con la página abierta buscar la opción de "ver código fuente"... no sé que navegador usas, pero no creo que te sea difícil encontrarlo)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 18/04/2005, 15:59
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
CARICATOS <?=$p?> es lo mismo que <? echo $p; ?>

el problema estaba en que faltaban serrar los parentesis en el script que me pasate.

parseInt(document.f["precio"+p].value * parseInt(document.f["canti"+p].value ;

seria si:

function aumentar(p){
document.f["canti"+p].value = parseInt(document.f["canti"+p].value) + 1;
document.f["precio_cant"+p].value = parseInt(document.f["precio"+p].value) * parseInt(document.f["canti"+p].value) ;
}


saludos y mil gracias
__________________
-----------------
_
__|_|__
º(-_-)º
  #12 (permalink)  
Antiguo 19/04/2005, 12:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Bueno, ña sintaxis de php no termino de conocerla, y me gusta conocer cosas nuevas, y lo de cerrar los paréntesis no es más que los problemas de contestar de memoria, pero lo que realmente importa es que hayas solucionado tu problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 19:06.