Foros del Web » Programando para Internet » Javascript »

No me funciona este simple codigo

Estas en el tema de No me funciona este simple codigo en el foro de Javascript en Foros del Web. <html> <head> <script type="text/javascript"> function mostrar(){ var t=document.texto.value; alert(t); } </script> </head> <body> <input type="text" name="texto"> <input type="button" value="Mostrar" onclick="mostrar()"> </body> </html> Se supone que ...
  #1 (permalink)  
Antiguo 18/07/2011, 19:38
 
Fecha de Ingreso: julio-2011
Mensajes: 20
Antigüedad: 12 años, 9 meses
Puntos: 2
No me funciona este simple codigo

<html>
<head>
<script type="text/javascript">
function mostrar(){
var t=document.texto.value;
alert(t);
}
</script>
</head>
<body>
<input type="text" name="texto">
<input type="button" value="Mostrar" onclick="mostrar()">
</body>
</html>


Se supone que ingreo un texto al input name="texto" y luego mostrarlo en una ventana alert de JavasCript, pero no pasa nada, ¿cual sera el error?
  #2 (permalink)  
Antiguo 18/07/2011, 20:38
Avatar de Danielfuzz  
Fecha de Ingreso: septiembre-2007
Mensajes: 111
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: No me funciona este simple codigo

Intenta con esto

Código HTML:
<html>
<head>
<script type="text/javascript">
function mostrar(){
var t=document.getElementById('texto').value;
alert(t);
}
</script>
</head>
<body>
<input id="texto" type="text" name="texto">
<input type="button" value="Mostrar" onclick="mostrar()">
</body>
</html> 
lo que pasa es que no puedes acceder a la caja de texto directamente por el document. Para acceder a el puedes hacerlo mediante un id usando el getElementById().

También si tu textbox está dentro de un formulario puedes acceder a él utilizando el name del formulario seguido de un punto y el nombre del textbox:

document.miform.mitext.value;

no olvides el karma!!

Saludos!!!
  #3 (permalink)  
Antiguo 18/07/2011, 21:30
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: No me funciona este simple codigo

Cita:
Iniciado por Danielfuzz Ver Mensaje

no olvides el karma!!

Saludos!!!
el karma no se pide, se gana ... si al usuario le a servido tu respuesta puede que te deje karma...

por otro lado... los dos no olviden colocar el doctype valido y así garantizar el buen funcionamiento del código.
  #4 (permalink)  
Antiguo 18/07/2011, 21:53
 
Fecha de Ingreso: julio-2011
Mensajes: 20
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: No me funciona este simple codigo

Cita:
Iniciado por Danielfuzz Ver Mensaje
Intenta con esto

Código HTML:
<html>
<head>
<script type="text/javascript">
function mostrar(){
var t=document.getElementById('texto').value;
alert(t);
}
</script>
</head>
<body>
<input id="texto" type="text" name="texto">
<input type="button" value="Mostrar" onclick="mostrar()">
</body>
</html> 
lo que pasa es que no puedes acceder a la caja de texto directamente por el document. Para acceder a el puedes hacerlo mediante un id usando el getElementById().

También si tu textbox está dentro de un formulario puedes acceder a él utilizando el name del formulario seguido de un punto y el nombre del textbox:

document.miform.mitext.value;

no olvides el karma!!

Saludos!!!

Gracias, me sirvio.
Lo extraño es que yo nunca antes lo hacia con el getElementbyId y nunca tuve problemas, y ahora no se por que no me funciono
  #5 (permalink)  
Antiguo 19/07/2011, 05:39
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: No me funciona este simple codigo

Mal hecho, si se puede utilizar un id mejor que una clase o un name. Quizás te funcionaba porque antes accedías primero al form desde document y luego al campo en sí. De todas maneras, es mejor no usar referencias directas:
Código:
var campo = document.forms.miForm.elements.miCampo;
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: imprime, mensaje, alerta
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 18:28.