Foros del Web » Programando para Internet » Javascript »

Problema con funciones

Estas en el tema de Problema con funciones en el foro de Javascript en Foros del Web. Holas el problema que tengo el siguiente. Tengo un formulario (nombre="formu") y dentro de ella un textfile (nombre ="tf") Cuando invoco la siguiente funcion en ...
  #1 (permalink)  
Antiguo 27/09/2007, 19:29
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 19 años
Puntos: 1
Exclamación Problema con funciones

Holas el problema que tengo el siguiente.

Tengo un formulario (nombre="formu") y dentro de ella un textfile (nombre ="tf")

Cuando invoco la siguiente funcion en Javazcrip me origina un error..

Código:
function mostarValor(formulario,textfile)
{
var str=formulario.textfile.value
alert(str);
}
A esta funcion la invoco de la siguiente manera:

Código:
<input name="tf" type="text" onBlur="javascript: mostrarValor(this.form,tf)">
Sin embargo cuando cambio de nombre a mi textfile funciona correctamente:

Código:
<input name="textfile" type="text" onBlur="javascript: mostrarValor(this.form,textfile)">
Yo quiero reutilizar esta funcion para otros formularios y textfiles con distintos nombres, por ellos es que estoy pasando dos parametros (nombre del formulario, nombre del campo de texto)

Quisiera saber si alguien tiene idea de lo que esta pasando..

Gracias de antemano.

Salu2.
  #2 (permalink)  
Antiguo 27/09/2007, 19:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con funciones

Hola:

Cuando usas valores variables, debes poner esas variables entre corchetes

function mostarValor(formulario,textfile)
{
var str=formulario[textfile].value
alert(str);
}

Sobre los manejadores de eventos (lo que empieza por "on" como en tu ejemplo onBlur, no es necesario poner por delante el prefijp "javascript:" y se escriben con todas las letras minúsculas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 28/09/2007, 13:32
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 19 años
Puntos: 1
Re: Problema con funciones

Gracias Caricatos por la respuesta... pero no ha funcionado, te mando el codigo con la funcion que me diste para que lo verifiques

Código:
<script LANGUAGE="JavaScript">
function mostrarValor(formulario,textfield)
{
	var str=formulario[textfield].value;
	alert(str);
}
</script>
</head>

<body>

<form id="form1" name="formulario" method="post" action="">
  <label>
  <input type="text" name="tex" onblur="mostrarValor(formulario,tex)" />
  </label>
</form>
Lo que yo quiero hacer es reutilizar la funcion para diversos textfield y form que puedan ir saliendo pasandoles su nombre de formulario y nombre de textfield... pero aparentemente bota un error...

Alguien puede ayudarme??

Salu2.
  #4 (permalink)  
Antiguo 28/09/2007, 16:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con funciones

Hola:

Si no entrecomillas los parámetros, estos se consideran objetos... en el primer ejemplo ví que usabas this.form como primer parámetro y eso es una buena idea, aunque el segundo sería mejor que fuera una cadena... retocando un poco lo que has puesto:

<script LANGUAGE="JavaScript">
function mostrarValor(formulario, textfield)
{
var str=formulario[textfield].value;
alert(str);
}
</script>
</head>

<body>

<form id="form1" name="formulario" method="post" action="">
<label>
<input type="text" name="tex" onblur="mostrarValor(/*formulario*/ this.form ,'tex')" />
</label>
</form>

Fíjate que no he modificado el script... que por cierto, en vez de language="javascript" acostúmbrate a usar type="text/javascript"... siempre todo en minúsculas... valida y es lo correcto.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 30/09/2007, 02:27
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 19 años
Puntos: 1
De acuerdo Re: Problema con funciones

Gracias Caricatos... encontré la respuesta a mi problema... pues el ejemplo parece simple, pero de ello se puede construir funciones mas complejas y en mi caso es lo que me faltaba para construirlas y reutizarlas para diversos formularios..

Salu2.

PD: Te haz ganado un punto en tu reputación de mi parte (y)
  #6 (permalink)  
Antiguo 30/09/2007, 11:44
Avatar de razcoll  
Fecha de Ingreso: abril-2005
Mensajes: 76
Antigüedad: 19 años
Puntos: 1
Re: Problema con funciones

Cita:
Iniciado por caricatos Ver Mensaje

Fíjate que no he modificado el script... que por cierto, en vez de language="javascript" acostúmbrate a usar type="text/javascript"... siempre todo en minúsculas... valida y es lo correcto.
Estuve inestigando por la observación que me diste y no encontré una respuesta... cual es la diferencia de utilizar (language="javascript") y (type="text/javascript"), cuales son las ventajas o desventajas de las mismas... y porque es la última la recomendable?

Gracias por las respuestas... preguntando se aprende

Salu2.
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 14:46.