Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Var undefined

Estas en el tema de Var undefined en el foro de Javascript en Foros del Web. Buenas tengo una duda, parece que la variable del input no me recoje los datos que pongo para que luego con el if me busque ...
  #1 (permalink)  
Antiguo 16/03/2016, 17:44
 
Fecha de Ingreso: diciembre-2012
Ubicación: Cáceres
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Var undefined

Buenas tengo una duda, parece que la variable del input no me recoje los datos que pongo para que luego con el if me busque si en el párrafo existe esa palabra o no, no sé si alguien me podría ayudar????

os pego el código para ver si me podeis ayudar


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>

<body>

<p id="texto1">Dieciséis penaltis después para romper la igualdad perenne de la eliminatoria, con el himno cantado a capela cinco veces por una hinchada tan entregada como histérica, Juanfran metió al Atlético en los cuartos de final de la Liga de Campeones. No perdonó el lateral el error de Narsingh, que envio el octavo lanzamiento de su equipo al larguero. Al punto de penalti acudió Juanfran con sus botas nuevas, en las que se puede leer el nombre de su hijo y de su mujer, y ajustó su disparo para certificar una clasificación agónica, tan del Atlético como el derroche infinito que caracteriza a la tropa de Simeone. Esa cita con la historia premió a uno de los futbolistas que más describe el crecimiento del Atlético desde la llegada del entrenador argentino. Hasta ese momento crucial hubo un partido que mezcló la táctica con la épica, los nervios y la emoción de la viejaCopa de Europa, que se engrandece desde noches taquicárdicas como esta.</p>

<input type="text" id="texto2" value="octavo">

<button onclick="buscar()">Comprueba</button>
Código Javascript:
Ver original
  1. <script>
  2.  
  3. function buscar(){
  4.  
  5. var texto1 =document.getElementById("texto1");
  6. //alert(texto1.innerHTML);
  7.  
  8. var texto2=document.getElementById("texto2").value;
  9. alert(texto2.innerHTML);
  10.  
  11. if (texto2.indexOf(texto1) != -1) {
  12. alert("Texto encontrado");
  13. }
  14. else{
  15. alert("No se encuentra el texto buscado");
  16. }
  17. }
  18.  
  19. </script>



</body>
</html>
  #2 (permalink)  
Antiguo 16/03/2016, 23:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Var undefined

Para empezar, si quieres hacer la búsqueda en el contenido del párrafo, la invocación al método .indexOf() debe realizarse así:
Código Javascript:
Ver original
  1. texto1.indexOf(texto2)

Por otra parte, estás olvidando tomar al contenido del párrafo, para lo cual debes usar la propiedad innerHTML:
Código Javascript:
Ver original
  1. var texto1 = document.getElementById("texto1").innerHTML;

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/03/2016, 02:03
 
Fecha de Ingreso: diciembre-2012
Ubicación: Cáceres
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Var undefined

Código Javascript:
Ver original
  1. <script>
  2.  
  3. function buscar(){
  4.  
  5. var texto1 =document.getElementById("texto1");
  6. //alert(texto1.innerHTML);
  7.  
  8. var texto2=document.getElementById("texto2").innerHTML;
  9. alert(texto2.innerHTML);
  10.  
  11. if (texto1.indexOf(texto2) != -1) {
  12. alert("Texto encontrado");
  13. }
  14. else{
  15. alert("No se encuentra el texto buscado");
  16. }
  17. }
  18.  
  19. </script>

Gracias por la contestación, sería así entonces? es que no me lo hace he cambiado texto1 por texto2 y viceversa, pero me sale la ventana de undefinid y no me funciona, ¿qué puedo hacer?, gracias un saludo!
  #4 (permalink)  
Antiguo 17/03/2016, 02:04
 
Fecha de Ingreso: diciembre-2012
Ubicación: Cáceres
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Var undefined

Cita:
Iniciado por Alexis88 Ver Mensaje
Para empezar, si quieres hacer la búsqueda en el contenido del párrafo, la invocación al método .indexOf() debe realizarse así:
Código Javascript:
Ver original
  1. texto1.indexOf(texto2)

Por otra parte, estás olvidando tomar al contenido del párrafo, para lo cual debes usar la propiedad innerHTML:
Código Javascript:
Ver original
  1. var texto1 = document.getElementById("texto1").innerHTML;

Código Javascript:
Ver original
  1. <script>
  2.  
  3. function buscar(){
  4.  
  5. var texto1 =document.getElementById("texto1").innerHTML;
  6. //alert(texto1.innerHTML);
  7.  
  8. var texto2=document.getElementById("texto2");
  9. //alert(texto2.innerHTML);
  10.  
  11. if (texto1.indexOf(texto2) != -1) {
  12. alert("Texto encontrado");
  13. }
  14. else{
  15. alert("No se encuentra el texto buscado");
  16. }
  17. }
  18.  
  19. </script>

Gracias por la contestación, sería así entonces? es que no me lo hace he cambiado texto1 por texto2 y viceversa, pero me sale la ventana de
"texto no encontrado" siempre y no sé porqué gracias

Última edición por joseatm90; 17/03/2016 a las 02:11
  #5 (permalink)  
Antiguo 17/03/2016, 05:54
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 11 meses
Puntos: 25
Respuesta: Var undefined

Me temo que se refiere más a esto

Código Javascript:
Ver original
  1. function buscar(){
  2.   var texto1 = document.getElementById("texto1").innerHTML;
  3.   var texto2 = document.getElementById("texto2").value;
  4.  
  5.   if (texto2.indexOf(texto1) > -1) {
  6.     alert("texto1 encontrado dentro de texto2");
  7.   } else {
  8.     alert("No se encuentra el texto buscado");
  9.   }
  10. }

Un saludo
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #6 (permalink)  
Antiguo 17/03/2016, 09:18
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Var undefined

Debes utilizar a la propiedad innerHTML para obtener el contenido del párrafo, tal y como te lo señalé en mi anterior respuesta. Eso, además del cambio en el método de búsqueda, era lo único que había que modificar, tal y como te lo señala eContento.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 17/03/2016, 18:21
 
Fecha de Ingreso: diciembre-2012
Ubicación: Cáceres
Mensajes: 22
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Var undefined

Muchas gracias a los dos =) me habéis sacado de un marrón jaja al fin entiendo el ejercicio lo voy a repasar todo bien, ya funciona =)

Etiquetas: html, input, undefined, var
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 00:18.