Foros del Web » Programando para Internet » Javascript »

Enviar variable de input "onChange

Estas en el tema de Enviar variable de input "onChange en el foro de Javascript en Foros del Web. Hola a todos, Soy novato en esto de la programación Javascript y me ha surgido esta complicación. Nose si se tiene que hacer por Javascript ...
  #1 (permalink)  
Antiguo 20/06/2012, 10:04
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Enviar variable de input "onChange

Hola a todos,
Soy novato en esto de la programación Javascript y me ha surgido esta complicación.
Nose si se tiene que hacer por Javascript o JQuery.

Quiero hacer un input, que al variar su valor (onChange) realize la función de recogerlo y de unir-lo a una cadena de texto (La url)
Después quiero abrir esta url en un iframe, de manera que cuando el imput cambie se envíe constantemente el valor por GET al iframe.

Esto es lo que tengo:

Código:
<script src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>
<input id="ip" name="ip" value="192.168."/><br />
  <input id="hab1" type="range" name="hab1" min="0" max="255" value="0" onchange="enviarvalores(hab1);"/>
  <input id="hab2" type="range" name="hab2" min="0" max="255" value="0" onchange="enviarvalores(hab2);"/>
 
  <script>
function enviarvalores(sensor){ 
   var ip = document.getElementById('ip');
   var valor = document.getElementById(sensor);

   parent.iframe.location.href="http://" + ip + ":42001/sensor-update=" + sensor + "=" + valor

}
  </script>
  <iframe id="iframe" scrolling="no" src="" frameborder="0" width="100%" allowtransparency="true"></iframe>
Muchas Gracias
  #2 (permalink)  
Antiguo 20/06/2012, 10:39
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Enviar variable de input "onChange

jquery es, a final de cuentas, javascript.

Supongo que lo que tienes no te funciona por que no envías el nombro o id del campo como una cadena 'hab1' si no como una variable hab1.



<input id="hab1" type="range" name="hab1" min="0" max="255" value="0" onchange="enviarvalores('hab1');"/>
  #3 (permalink)  
Antiguo 20/06/2012, 12:09
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Enviar variable de input "onChange

Si, como tu decías lo tenia que enviar como cadena de texto.
Pero aún así me sigue sin funcionar... el iframe no reacciona.

Alguna otra idea?
  #4 (permalink)  
Antiguo 20/06/2012, 15:38
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Enviar variable de input "onChange

Me pregunto que es esto: var valor = document.getElementById(sensor);

1ero que nada var valor = document.getElementById('sensor'); asi es que van, te faltaron las comillas, y luego.. QUE ES SENSOR?
no veo ningún elemento con id = sensor
  #5 (permalink)  
Antiguo 20/06/2012, 19:49
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Enviar variable de input "onChange

rodrigo791:

sensor es una variable que recibe la función con el nombre o valor que envia el evento onchange, por tanto no requiere comillas.

danidj5: primero haz un alert a la dirección que quieres y ve si está bien y funciona.

No recuerdo muy bien la forma de manejar frames padres e hijos ya que no los he usado en un muy largo tiempo. Sin embargo, creo que convendría mucho usar ajax, para no recargar frames si no divs, además de hacer más ágil las cargas, resultará más agradable al usuario.
  #6 (permalink)  
Antiguo 20/06/2012, 23:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enviar variable de input "onChange

Cita:
Iniciado por danidj5 Ver Mensaje
Si, como tu decías lo tenia que enviar como cadena de texto.
Pero aún así me sigue sin funcionar... el iframe no reacciona.

Alguna otra idea?
No estás recuperando los valores, solo identificando los elementos, debería ser
Código Javascript:
Ver original
  1. var ip = document.getElementById('ip').value;
  2. var valor = document.getElementById(sensor).value;
Asi te va a cargar el iframe
De todas maneras no entiendo eso de usar una ip de solo 2 componentes, y el evento onchange no parecería en principio el más apropiado

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 21/06/2012, 17:02
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Enviar variable de input "onChange

No, la ip no es de solo dos componentes, sino que el usuario acaba de completar los dos que faltan (192.168.X.X).

Por el que hace en código, rectifico, no es:
Código Javascript:
Ver original
  1. valor = document.getElementById(sensor).value;
Sino...
Código Javascript:
Ver original
  1. valor = document.getElementById('hab1').value;
Error mio. El código quedaría así:
Código Javascript:
Ver original
  1. <input id="ip" name="ip" value="192.168."/><br />
  2.   <input id="hab1" type="range" name="hab1" min="0" max="255" value="0" onchange="enviarvalores('hab1');"/>
  3.   <script>
  4. function enviarvalores(sensor){
  5.    var ip = document.getElementById('ip').value;
  6.    var valor = document.getElementById('hab1').value;
  7.    
  8.  parent.iframe.location.href="http://" + ip + ":42001/sensor-update=" + sensor + "=" + valor
  9.  }
  10.   </script>
  11.   <iframe id="iframe" name="iframe" scrolling="no" src="" frameborder="0" width="100%" allowtransparency="true"></iframe>

Y el iframe me sigue sin responder.....

Emprear : Si onChange no es el evento apropiado.. cual sería entonces?

Alguna otra opción?

Última edición por danidj5; 21/06/2012 a las 17:11
  #8 (permalink)  
Antiguo 21/06/2012, 17:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enviar variable de input "onChange

La script funciona, por supuesto que si los valores son esos, en el iframe se va a cargar una página de error de algún tipo

crea un documento html con esto y verificalo
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. function enviarvalores(sensor){
  9. var ip = document.getElementById('ip').value;
  10. var valor = document.getElementById('hab1').value;
  11. parent.iframe.location.href="http://" + ip + ":80/sensor-update=" + sensor + "=" + valor
  12. }
  13. //]]>
  14. </head>
  15. <input id="ip" name="ip" value="emprear.com"/><br />
  16. <input id="hab1" type="range" name="hab1" min="0" max="255" value="0" onchange="enviarvalores('hab1');"/>
  17. <iframe id="iframe" scrolling="no" src="about:blank" frameborder="1" width="100%" allowtransparency="true" name="iframe"></iframe>
  18. </body>
  19. </html>

Le reemplacé la ip por un valor válido y también el puerto en la url
por lo del evento, desonozco la aplicación, pero con onchange solo va a responder cuando el usuario modifique el valor y el input pierda el foco. Por ahi creando un boton y en este ejecutar la función onclick sería mejor, pero te repito, es un suposición porque no se como trabaja todo el conjunto.
Otro detalle, en este ejemplo solo usaste un input, si fuesen varios

var valor = document.getElementById('hab1').value;
deberia ser como antes
var valor = document.getElementById(sensor).value;

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 02/07/2012, 13:01
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Enviar variable de input "onChange

Si, lo he probado y funciona! Un poco lento de respuesta pero bien.

Gracias a todos y especialmente a ti emprear.

Etiquetas: iframe, input, jquery, onchange, variables
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 01:45.