Foros del Web » Programando para Internet » Javascript »

Situacion con onchange para cambiar cuadros de texto

Estas en el tema de Situacion con onchange para cambiar cuadros de texto en el foro de Javascript en Foros del Web. Hola Compañeros, estoy tratando de hacer un cambio en un formulario para realizar calculos de forma dinámica utilizando HTML y un poco de Javascript. Una ...
  #1 (permalink)  
Antiguo 01/07/2010, 19:40
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 10 meses
Puntos: 21
Pregunta Situacion con onchange para cambiar cuadros de texto

Hola Compañeros, estoy tratando de hacer un cambio en un formulario para realizar calculos de forma dinámica utilizando HTML y un poco de Javascript. Una persona me ayudó algo con una situación familiar, en aquel momento se pudo hacer, pero ahora siento que el Javascript está rebelde ^_^

He aquí los segmentos del código:

<form id="solicitud" action="ValidarSolicitudOrdenPago.php" method="post" name="formulario_solicutud_pago" target="_top">
<table>
<tr>
<td>Numero de dias<input type="text" id="nro_dias" name="nro_dias" size="10" value="1" onchange = "javascript:cambio_dias();"></td>
<td><input name="UT" type="text" id="UT" size="7" value="55,00" disabled="disabled"/></td>
<td><input name="ctte" type="text" id="ctte" size="7" value="6,974" disabled="disabled"/></td>
<td><input name="dias" type="text" id="dias" size="7" disabled="disabled"/></td>
<td><input type="text" id="precio_dias" name="precio_dias" size="10" disabled="disabled"></td>
</tr>
<tr>
<td><input name="ctte2" type="text" id="ctte2" size="7" value="1,115" disabled="disabled"/></td>
<td><input name="UT2" type="text" id="UT2" size="7" value="55,00" disabled="disabled"/></td>
<td><input name="dias2" type="text" id="dias2" size="7" disabled="disabled"/></td>
<td><input type="text" id="precio_pasaje" name="precio_pasaje" size="10" disabled="disabled"></td>
<td>Total<input type="text" id="precio_total" name="precio_total" size="10" disabled="disabled"></td>
</tr>
</table>
</form>

La funcion Javascript es algo parecido a esto:

function cambio_dias ()
{
solicitud.dias.value=solicitud.nro_dias.value;
solicitud.precio_dias.value=eval(solicitud.dias.va lue*solicitud.UT.value*solicitud.ctte.value);
solicitud.dias2.value=solicitud.dias.value;
solicitud.precio_pasaje.value=eval(solicitud.dias2 .value*solicitud.UT2.value*solicitud.ctte2.value);
solicitud.precio_total.value=eval(solicitud.precio _dias.value+solicitud.precio_pasaje.value);
}


P.S.: He tratado con otras opciones, pero nada de nada...
  #2 (permalink)  
Antiguo 14/07/2010, 13:46
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 10 meses
Puntos: 21
Respuesta: Situacion con onchange para cambiar cuadros de texto

Cita:
Iniciado por Sirrohan Ver Mensaje

function cambio_dias ()
{
solicitud.dias.value=solicitud.nro_dias.value;
solicitud.precio_dias.value=eval(solicitud.dias.va lue*solicitud.UT.value*solicitud.ctte.value);
solicitud.dias2.value=solicitud.dias.value;
solicitud.precio_pasaje.value=eval(solicitud.dias2 .value*solicitud.UT2.value*solicitud.ctte2.value);
solicitud.precio_total.value=eval(solicitud.precio _dias.value+solicitud.precio_pasaje.value);
}
Lo que he resuelto es algo parecido a esto:
Código:
function cambiodias() 
{
	if(document.form.nro_dias.value<=0)
	{
		alert("Escriba valores mayores a cero");
		location.href="Depositociclo.php";
	}
	else
	{
		document.form1.dias1.value=document.form1.nro_dias.value;
		document.form1.precio_dias.value=eval(document.form1.dias1.value*document.form1.UT.value*document.form1.ctte.value);
		document.form1.dias2.value=document.form1.nro_dias.value;
		document.form1.precio_pasaje.value=eval(document.form1.dias2.value*document.form1.UT2.value*document.form1.ctte2.value);
		document.form1.precio_total.value=eval(document.form1.precio_dias.value+document.form1.precio_pasaje.value);
	}
}
Hace el cambio de los numeros en los cuadros de texto, pero no las ecuaciones matemáticas. Alguna sugerencia??

Saludos!
  #3 (permalink)  
Antiguo 14/07/2010, 13:55
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 10 meses
Puntos: 21
Respuesta: Situacion con onchange para cambiar cuadros de texto

Disculpen lo improvisado de todo, pero los datos del formulario se vería algo parecido a esto, en la muestra anterior la distribución de la entrada de los flujos de datos estaba un tanto desordenada y le faltaban algunos signos matemáticos ;)

Código HTML:
<form id="solicitud" action="ValidarSolicitudOrdenPago.php" method="post" name="formulario_solicutud_pago" target="_top">
<table>
<tr>
<td>Numero de dias<input type="text" id="nro_dias" name="nro_dias" size="10" value="1" onchange = "javascript:cambio_dias();"></td>
<td><input name="UT" type="text" id="UT" size="7" value="55,00" disabled="disabled"/></td>
<td>*<input name="ctte" type="text" id="ctte" size="7" value="6,974" disabled="disabled"/></td>
<td>*<input name="dias" type="text" id="dias" size="7" disabled="disabled"/></td>
<td>=
  <input type="text" id="precio_dias" name="precio_dias" size="10" disabled="disabled"></td>
</tr>
<tr>
<td></td>
<td><input name="ctte2" type="text" id="ctte2" size="7" value="1,115" disabled="disabled"/>
*</td>
<td><input name="UT2" type="text" id="UT2" size="7" value="55,00" disabled="disabled"/></td>
<td>*<input name="dias2" type="text" id="dias2" size="7" disabled="disabled"/></td>
<td>=
  <input type="text" id="precio_pasaje" name="precio_pasaje" size="10" disabled="disabled"></td>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Total<input type="text" id="precio_total" name="precio_total" size="10" disabled="disabled"></td>
</tr>
</tr>
</table>
</form> 
Espero que haya quedado más claro lo que intento hacer.

Saludos!
  #4 (permalink)  
Antiguo 01/08/2010, 20:36
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 10 meses
Puntos: 21
Respuesta: Situacion con onchange para cambiar cuadros de texto

El detalle es que me da un mensaje de NaN, supongo que son los valores con punto flotante :S
Traté con valores enteros y funciona, pero haciendo un pequeño sin importancia...
Así ha quedado el código...

Código:
function cambiodias() 
{
	var a=document.form1.nro_dias.value;
	var b=document.form1.dias1.value;
	var c=document.form1.UT.value;
	var d=document.form1.ctte.value;
	var e=document.form1.nro_dias.value;
	document.form1.dias1.value=a;
	var j=eval(b*c*d);
	document.form1.precio_dias.value=j;
	document.form1.dias2.value=e;
	var f=document.form1.dias2.value;
	var g=document.form1.UT2.value;
	var h=document.form1.ctte2.value;
	var i=eval(f*g*h);
	document.form1.precio_pasaje.value=i;	
	document.form1.precio_total.value=eval(j+i);
}
Código HTML:
<form id="solicitud" action="ValidarSolicitudOrdenPago.php" method="post" name="formulario_solicutud_pago" target="_top">
<table>
<tr>
<td>Numero de dias<input type="text" id="nro_dias" name="nro_dias" size="10" value="1" onchange = "javascript:cambio_dias();"></td>
<td><input name="UT" type="text" id="UT" size="7" value="55" disabled="disabled"/></td>
<td>*<input name="ctte" type="text" id="ctte" size="7" value="6" disabled="disabled"/></td>
<td>*<input name="dias" type="text" id="dias" size="7" disabled="disabled"/></td>
<td>=
  <input type="text" id="precio_dias" name="precio_dias" size="10" disabled="disabled"></td>
</tr>
<tr>
<td></td>
<td><input name="ctte2" type="text" id="ctte2" size="7" value="1" disabled="disabled"/>
*</td>
<td><input name="UT2" type="text" id="UT2" size="7" value="55" disabled="disabled"/></td>
<td>*<input name="dias2" type="text" id="dias2" size="7" disabled="disabled"/></td>
<td>=
  <input type="text" id="precio_pasaje" name="precio_pasaje" size="10" disabled="disabled"></td>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td>Total<input type="text" id="precio_total" name="precio_total" size="10" disabled="disabled"></td>
</tr>
</tr>
</table>
</form> 

Última edición por Sirrohan; 01/08/2010 a las 20:38 Razón: Cambio de valores
  #5 (permalink)  
Antiguo 01/08/2010, 21:01
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 10 meses
Puntos: 21
Respuesta: Situacion con onchange para cambiar cuadros de texto

El problema que tenía era un problema con los valores punto flotante, los valores que estaban en el formulario, la forma correcta de escribirlo es de con punto, en vez de coma, y la función que está en el último comentario está correcta.

Código:
*
          <input name="ctte" type="text" id="ctte" size="7" value="6.974" disabled="disabled"/>        
    <input name="ctte2" type="text" id="ctte2" size="7" value="1.115" disabled="disabled"/>
No sé si un moderador puede cerrar este tema.

Etiquetas: html, onchange, oncharge, formulario
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 04:42.