Foros del Web » Programando para Internet » Javascript »

sistema para sacar valores medios entre inputs...

Estas en el tema de sistema para sacar valores medios entre inputs... en el foro de Javascript en Foros del Web. holaaa, aqui vuelvo a dar un poco el coñazo... bueno mi reclamo puede ser un poco complicado pero intentare explicarlo lo mejor posible haber si ...
  #1 (permalink)  
Antiguo 14/10/2008, 02:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
sistema para sacar valores medios entre inputs...

holaaa, aqui vuelvo a dar un poco el coñazo... bueno mi reclamo puede ser un poco complicado pero intentare explicarlo lo mejor posible haber si pueden ayudarme...

quiero conseguir un sistema en el tengo 24 inputs donde voy a ir insertando una serie de valores, hasta ahi facil... esos valores se comparan con otros para hayar una media final, y esa media final quiero que, a medida que voy metiendo los 24 valores se vayan reflejando en otro input que iran justo debajo...

es decir un evento onChange por cada input donde voy introduciendo los valores q aga lo siguiente: coja el valor que introduzco, lo compare con el valor predeterminado y refleje el resultado de la media en otro input que ira justo debajo.

espero que m podais ayudar, gracias de antemano
  #2 (permalink)  
Antiguo 14/10/2008, 02:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

aqui os dejo un ejemplo, un poco cutre pero creo que aclarativo, de lo que mas o menos quisiera hacer:

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
-----------------------------------------------------------
|1,5 | 2 | 2.5| 3 | 5.5| 6 | | | | |
-----------------------------------------------------------
|0,5 | 0 |-0.5| -1 | 0.5| 0 | | | | |
  #3 (permalink)  
Antiguo 14/10/2008, 07:51
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: sistema para sacar valores medios entre inputs...

Para hacer esto con PHP necesitas usar AJAX o algo parecido. PHP es un lenguaje que se interpreta en el servidor y envía los resultados al cliente (un navegador en éste caso). Para hacer lo que tú quieres necesitas que, una vez enviada la página al navegador, se sigan realizando instrucciones. La única manera de hacer esto con PHP a secas sería recargar la página cada vez que se introduzca un valor. Pero esto es inaceptable por razones obvias.

Se podría hacer con AJAX, y que cada vez que se modifique un valor, se mande al servidor, haga las operaciones y devuelva el valor. Pero eso sería malgastar ancho de banda y procesador del servidor.

Así que en tu caso tendrías que echar mano de JavaScript, no creo que resulte muy complicado hacer lo que quieres, preguntalo en el foro correspondiente.
  #4 (permalink)  
Antiguo 14/10/2008, 08:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

a eso mismo me referia a una funcion javascript que lo hiciera...
  #5 (permalink)  
Antiguo 14/10/2008, 08:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: sistema para sacar valores medios entre inputs...

Pues eso deberías preguntarlo en el foro de javascript...

Yo haría algo así:
Una función que reciba un valor y se encargue de sacar esa media y ponerla en donde quieras (con un getElementByID, etc...)

En el campo modificable un evento onChange que llame a la función antes mencionada pasandole como parámetro el valor nuevo del campo...

Pero vamos, para eso existe el foro de JavaScript, allí te podrán ayudar mucho mejor.
  #6 (permalink)  
Antiguo 14/10/2008, 08:14
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

ok... preguntare mejor alli xq va a ser mas complicao q eso q m comentas... no es tan simple, weno tal como yo lo planteo no asi d simple, gracias keysher
  #7 (permalink)  
Antiguo 14/10/2008, 08:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: sistema para sacar valores medios entre inputs...

Tema trasladado a Javascript.
  #8 (permalink)  
Antiguo 14/10/2008, 09:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

x favor... alguna alma caritativa que pueda exarme una mano???
  #9 (permalink)  
Antiguo 14/10/2008, 09:50
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: sistema para sacar valores medios entre inputs...

Prueba esto a ver si es lo que buscas

Código javascript:
Ver original
  1. <script>
  2.  
  3. function calculaMedia() {
  4.   var suma = 0;
  5.   var i = 0;
  6.   var elem = 0;
  7.  
  8.   while (i<=5) {
  9.   id="elem"+i;
  10.     if (document.getElementById(id).value!=''){
  11.       suma=suma+parseInt(document.getElementById(id).value);
  12.       elem++;
  13.     }
  14.   i++;
  15.   }
  16.  
  17.   document.getElementById('total').value=suma/elem;
  18. }
  19.  
  20.  
  21. </script>


Código HTML:
<input type="text" id="elem0" value='' onChange="javascript:calculaMedia()"/>
<input type="text" id="elem1" value='' onChange="javascript:calculaMedia()"/>
<input type="text" id="elem2" value='' onChange="javascript:calculaMedia()"/>
<input type="text" id="elem3" value='' onChange="javascript:calculaMedia()"/>
<input type="text" id="elem4" value='' onChange="javascript:calculaMedia()"/>
<input type="text" id="elem5" value='' onChange="javascript:calculaMedia()"/>
<br />
<br />
ToTaL:<input type="text" id="total" value=''/> 
Saludos
  #10 (permalink)  
Antiguo 15/10/2008, 00:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

casi casi, este es un codigo con el q estoy aciendo pruebas, en este caso solo tengo dos inputs donde introduzco los valores:

cojo el valor del input y le paso el indice del input "resultado" que corresponde (medido1 con desvi1, medido2 con desvi2, etc)

<script>
function calculaMedia(n,i){
id="desvi"+i;
document.getElementsById(id).value = n.value;
}
</script>

<form>
<input type="text" class="inputnumeros5" id="medido1" onChange="calculaMedia(this,1)" value=''>
<input type="text" class="inputnumeros5" id="medido2" onChange="calculaMedia(this,2)" value=''><br>
<input type="text" class="inputnumeros5" id="desvi1" disabled="disabled" value=''>
<input type="text" class="inputnumeros5" id="desvi2" disabled="disabled" value=''>
</form>

pero no m carga el valor resultante en los inputs "resultado"
  #11 (permalink)  
Antiguo 15/10/2008, 01:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

Bueno con las aportaciones dadas, que os agradezco, y con un poco de ingenio, tampoco tanto :p, conseguido hacer lo que keria... mas o menos. Lo he planteao de esta manera:

Código:
function calculaMedia(){
		for(i=1;i<11;i++){
			medido="medido"+i;
			desvi="desvi"+i;
			if(document.getElementById(medido).value!='')
				document.getElementById(desvi).value=document.getElementById(medido).value-i;
		}
	}
Código HTML:
<form>
<?PHP
	for($i=1;$i<11;$i++) {
		echo '<input type="text" class="inputnumeros5" id="medido'. $i .'" onChange="calculaMedia()" value="">';
	}
	echo '<br>';
	for($i=1;$i<11;$i++) {
		echo '<input type="text" class="inputnumeros5" id="desvi'. $i .'" onFocus="deshabilitar(this)" onBlur"habilitar(this)" value="">';
	}
?>
</form> 
Ahora bien... me gustaria pasar a la segunda parte de esta funcion y es la siguiente:
quiero, que dependiendo del valor de la diferencia (resultado) se cambie la funete d un color u otro y ademas, que cuando me coloque (onFocus) sobre los inputs resultantes desabilitarlo (cosa que ya consigo) y cuando salga de esa celda o input se vuelva a habilitar (esto es lo que no consigo hacer)

Para esto ultimo e probao con el evento onFocus para deshabilitar y el onBlur para volver a habilitar pero... me se queda dehabilitao ya... help me please!!!

gracias de antemano.
  #12 (permalink)  
Antiguo 15/10/2008, 02:17
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: sistema para sacar valores medios entre inputs...

Eso que intentas no puede ser. Piensa que cuando haces un focus desbilitas el elemento por lo tanto no llegas a focalizar el foco en ese elemento. Al no estar focalizado en el elemento y este estar disabled nunca podra saltar elevento onblur. No se si me explico. Tendrás que pensar en otra forma...
  #13 (permalink)  
Antiguo 15/10/2008, 02:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

buena teoria matak... de todas maneras creo que e solventado ya esa parte... añadiendo en la funcion de calculamedia un readOnly a todos los inputs resultantes... asi no podre modificarlos y tambien conservo el color de la fuente...

aora lo que estaba intentando hacer es lo del cambio de la fuente de texto... que todavia no he encontrado la manera... sera una tonteria seguro... pero asi estoy :P javascript la verdad es q no stoy muy puesto aun

quien sabe como cambiar el color d la fuente de los inputs text??
  #14 (permalink)  
Antiguo 15/10/2008, 02:36
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: sistema para sacar valores medios entre inputs...

prueba con

document.getElementById(id_input).style.color="#34 52f2"
  #15 (permalink)  
Antiguo 15/10/2008, 02:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

bueno.... una vez mas creo que puedo despedirme y dar por finalizada mi cuestion. He conseguio q aga todo lo q queria q hiciera... para la ultima cuestion de los colores, simplemente e definio en mi hoja de estilos (CSS) 3 situaciones distintas, uno con cada color del texto, y voy cambiandolo con la propiedad .className="NombreClase" es bastante util.

gracias a todos los que habeis intervenido y espero daros pronto otra vez el coñazo, xq significara que sigo indagando y buscando nuevas soluciones con javascript o php sobre todo.

muxas gracias a todos. un saludo
  #16 (permalink)  
Antiguo 15/10/2008, 03:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

una unica cosa... porque no m reconoce los valores negativos en las comparaciones??

Código:
if(valor<='1.5' && valor>='-1.5'){
	if(valor<='0.5' && valor>='-0.5')
		document.getElementById(desvi).className="inputverde";
	else
		document.getElementById(desvi).className="inputnaranja";
}
else
	document.getElementById(desvi).className="inputrojo";
aqui le digo segun el margen de error que me cambie a un estilo u otro... los valores positivos m los coje... los negativo no porque?
  #17 (permalink)  
Antiguo 15/10/2008, 03:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: sistema para sacar valores medios entre inputs...

jejej esto parece un monologo... vale, era simplemente quitar las comillas... una tonteria
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 16:15.