Foros del Web » Programando para Internet » Javascript »

valores entre funciones en javascript

Estas en el tema de valores entre funciones en javascript en el foro de Javascript en Foros del Web. se puede enviar el valor de una funcion a otra en javascript???? y si se puede como seria???... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original ...
  #1 (permalink)  
Antiguo 19/01/2010, 20:15
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
valores entre funciones en javascript

se puede enviar el valor de una funcion a otra en javascript???? y si se puede como seria???...

Código Javascript:
Ver original
  1. function mon(cantidad,num,cuantos)
  2. {
  3.  
  4.    
  5.     precio=document.getElementById("precio"+num).value;
  6.     mont=eval(cantidad*precio);
  7.     var monto = formatCurrency(mont);
  8.     document.getElementById("monto"+num).innerHTML = monto;
  9.    
  10.    
  11.    
  12.     var monto_unidad_tot=0;
  13.     for(var i=1;i<=cuantos;i++)
  14.     {
  15.         monto_unidad=parseFloat(document.getElementById("precio"+i).value)*parseFloat(document.getElementById("cantidad"+i).value);
  16.         monto_unidad_tot=parseFloat(monto_unidad_tot)+parseFloat(monto_unidad);
  17.     }
  18.     monto_unidad_tot_original=monto_unidad_tot;
  19.     var monto_unidad_tot = formatCurrency(monto_unidad_tot);
  20.     document.getElementById("valor_monto_total").innerHTML = monto_unidad_tot;
  21.    
  22.     iva2=parseFloat(monto_unidad_tot_original)*parseFloat(12/100);
  23.     iva_original=iva2;
  24.     var iva2 = formatCurrency(iva2);
  25.     document.getElementById("valor_iva").innerHTML = iva2;
  26.    
  27.     monto_total2=parseFloat(iva_original)+parseFloat(monto_unidad_tot_original);
  28.     var monto_total2 = formatCurrency(monto_total2);
  29.     document.getElementById("valor_total").innerHTML = monto_total2;
  30.    
  31. }


si en ese codigo coloco esta linea
Código Javascript:
Ver original
  1. alert(cantidad);
se imprime bien el valor en alerta.. pero si creo una funcion nueva con el mismo codigo de alerta no hace nada ...el problema es que esta funcion es llamada por medio de un envento onBlur='javascript:mon(this.value,$i,$j);'


y yo necesito es enviar el valor de cantidada al precionar un boton no dentro de el evento de esa funcion

la otra forma seria colocar un if despues de function mon(cantidad,num,cuantos) q diga si no ha sido precionado el boton haga todo el procedimiento si no enviar el valor...pero no se como programar ese if apenas estoy aprendiento js
  #2 (permalink)  
Antiguo 19/01/2010, 21:27
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: valores entre funciones en javascript

si es que lo entiendo bien, tienes que invocar esa funcion desde el evento onclick del boton y no desde el evento onblur, supongo, del campo. entonces, para pasar los valores cuando invoques la funcion, tienes que poner la referencia al campo que contiene el valor. por ejemplo,
Código:
<input type='text' /><input type='button' onclick='mon(this.previousSibling.value, $i, $j);' value='boton' />
en este ejemplo, el codigo en rojo hace referencia al campo que antecede al boton. considera que la forma de hacerlo depende como esta estructurado tu codigo html y/o que atributos disponible tiene tus elementos para hacer referencia a ellos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 20/01/2010, 14:28
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: valores entre funciones en javascript

no es que deba invocarla con onclick....con unblor funciona bien... lo que necesito es el valor de la variable cantidad

CON:
Código Javascript:
Ver original
  1. document.getElementById("marco").innerHTML = cantidad;

imprimo la variable en un div
Código HTML:
Ver original
  1. echo "<div id='marco' name='marco'>";

como puedo imprimir esa variable en un campo de texto ??? o como podria igualarlo a una variable en PHP???
  #4 (permalink)  
Antiguo 20/01/2010, 14:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: valores entre funciones en javascript

document.getElementById("id_del_input").value=variable; // si es un input text

innerHTML como lo indica su nombre es para establecer contenido HTML, pero se usa en capas generalmente
  #5 (permalink)  
Antiguo 20/01/2010, 15:40
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: valores entre funciones en javascript

si hago <input type='text' name='x' id=''x' ¿value='variable'?>

como hago para mostrar en value el valor de un javascript??..
  #6 (permalink)  
Antiguo 20/01/2010, 16:19
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: valores entre funciones en javascript

desde html no puedes poner el valor de una variable de javascript. la solucion es como te indico maycolalvarez, obtienes la referencia del campo y luego asignas la variable a la propiedad value, un ejemplo lo tienes en el post anterior.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 21/01/2010, 09:04
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: valores entre funciones en javascript

y si la referencia del campo tiene una variable.... como id='cantidad$i' name='cantidad$i' ...el$i viene de un bucle ...como hago?? he probado


function agregar()
{

document.getElementById("¿cantidad$i?").value =valor;

alert("valor");
}

...pero me muestra indefinido

..quiero pasar el valor de ese campo por post ¿ como puedo hacer???..
  #8 (permalink)  
Antiguo 21/01/2010, 10:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: valores entre funciones en javascript

donde esta definida la variable $i, ¿en php o javascript? en todo caso, tienes que concatenar el iterador con el nombre, "cantidad" + $i porque en javascript no existe interpolacion de variables en string. para pasar el campo por post simplemente tienes que definir post en el atributo method de formlario.S
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 21/01/2010, 14:05
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: valores entre funciones en javascript

$i esta definida en php...

lo que necesito es enviar el valor de esta etiqueta a otra pagina...

Código HTML:
Ver original
  1. <tr bgcolor='#FFFFFF'><td align='right'>".$i.".-</td><td>".$row_prod['inve_nombre']."</td><td align='right'><input id='cantidad$i' name='cantidad$i' type='text' value=".$itemsEnCesta[$k]." size='2' maxlength='2' onBlur='javascript:mon(this.value,$i,$j)'  onkeypress='return validar(event)'>



estoy haciendo una funcion en javascript que me atrape ese valor y que lo envie por un boton...

con este boton llamo la funcion

Código HTML:
Ver original
  1. <div align="right"><a href ="javascript:agregar()"><img src="imagenes/agregar.jpg"  width="84" height="25" border="0"></a></div>

y en la funcion agregar() es donde tengo el pelon..que no he podido agarrar valor el esa campo ...

habia hecho algo asi

Código Javascript:
Ver original
  1. document.getElementById("cantidad"+i).value= valor;
  2.    alert(valor);

pero no hace nada ..
pero parece q debo agregar un if para el valor de i pero no se cual sera la condicion ... o como hacerlo

Etiquetas: funciones
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 17:37.