Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Mensaje y respuesta en javascript

Estas en el tema de Mensaje y respuesta en javascript en el foro de Javascript en Foros del Web. Hola a todos. El otro día pensé una forma de que el ordenador te "contestara" a tu mensaje que le dejas en un text. Así ...
  #1 (permalink)  
Antiguo 30/06/2013, 09:50
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Mensaje y respuesta en javascript

Hola a todos. El otro día pensé una forma de que el ordenador te "contestara" a tu mensaje que le dejas en un text. Así que me puse a hacerlo y hice esto:
Código HTML:
Ver original
  1. <title>HTML</title>
  2. <div id="respuesta"></div>
  3. <input type="text" id="space" />
  4. </form>
  5. </body>
  6. <script type="text/javascript">
  7. var mensaje = document.getElementById("space");
  8. if(mensaje=="hola") {
  9.     document.getElementById("respuesta").innerText="Hola";
  10. }
  11. </html>

Pero no se porque no se ejecuta nada. ¿Alguien sabe por qué y cómo arreglarlo? Muchas gracias :)
  #2 (permalink)  
Antiguo 01/07/2013, 05:34
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Mensaje y respuesta en javascript

Código HTML:
Ver original
  1. <title>HTML</title>
  2. <script type="text/javascript">
  3.  
  4. ///Lo definimos como una funcioón que se ejecutara cuando ocurra un evento de cliente
  5.  
  6. function fRespuesta(){
  7.  
  8. ///Te faltaba .value sin ello lo que hacias es asignar todo el objeto no su valor
  9. var mensaje = document.getElementById("space").value;
  10.  
  11. ///Recuerda que javascript es casesensitive al comparar con el valor
  12. ///pasado a minúsculas respondera tanto a Hola como a hola como a HOLA...
  13. if(mensaje.toLowerCase()=="hola") {
  14.  
  15. ///usando innerhtml podrias dar formato a la respuesta
  16. document.getElementById("respuesta").innerHTML="<strong>Que tal?</strong>";
  17.  
  18. }
  19. }
  20. </head>
  21.  
  22. <!-- Asociamos la función al evento onKeyUp de manera que se ejecuta
  23.      despues de soltar cada tecla... obviamente no responde hasta que el
  24.      valor del input es Hola,hola,HOLA o cualquier otra combinación de mayúsculas y minusculas. // -->
  25.  
  26. <input type="text" id="space" onKeyUp="fRespuesta();" />
  27.  
  28. <!-- Uso un span para que aparezca a continuación sin salto de linea // -->
  29. <span id="respuesta"></span>
  30.  
  31. </form>
  32. </body>
  33. </html>
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 01/07/2013 a las 06:07
  #3 (permalink)  
Antiguo 01/07/2013, 08:13
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mensaje y respuesta en javascript

¡Muchas gracias! Es lo que buscaba!
  #4 (permalink)  
Antiguo 01/07/2013, 08:34
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mensaje y respuesta en javascript

Una cosa más complicada, ¿cómo lo hago para qué se ejecute una función si hay una palabra concreta en el que hemos escrito en el "text"?
  #5 (permalink)  
Antiguo 02/07/2013, 01:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Mensaje y respuesta en javascript

A ver, tienes claro el tema de los eventos?

Los eventos son una colecció de hechos que pueden sucederle a cada objeto de html estos ocurren con independéncia de su contenido. Se usan para des encadenar la ejecución de un codigo determinado.

Luego dentro del codigo puedes analizar el valor del objeto desencadenante o de cualquier otro para hacer algo o no hacerlo, de hecho es lo que estas haciendo en la función del saludo

Código Javascript:
Ver original
  1. if(mensaje.toLowerCase()=="hola") {

Este condicional , se traduce por "si se cumple que mensaje en minúsculas es igual a 'hola'", engloba todas las acciones de la función. Luego esta haciendo lo que pides

Cita:
¿cómo lo hago para qué se ejecute una función si hay una palabra concreta en el que hemos escrito en el "text"?
la función se ejecuta si o si cada vez que se produce el evento onKeyUp pero solo tiene efectos cuando contiene "hola".

Busca operadores de flujo de javascript donde encontraras un interesante switch que te permitiria por ejemplo hacer cosas distintas en función de palabras concretas distintas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/07/2013 a las 05:48
  #6 (permalink)  
Antiguo 02/07/2013, 04:33
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mensaje y respuesta en javascript

Tengo claro el switch, el while, etc., pero gracias por tu información.

Etiquetas: html, input, mensaje, respuesta
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:11.