Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Usar una funcion en dos form distintos

Estas en el tema de Usar una funcion en dos form distintos en el foro de Javascript en Foros del Web. Primero de todo presentarme, ya que es la primera vez que escribo aqui, aunque llevo varios meses leyendo el foro. Bueno mi problema es el ...
  #1 (permalink)  
Antiguo 16/01/2014, 13:23
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Usar una funcion en dos form distintos

Primero de todo presentarme, ya que es la primera vez que escribo aqui, aunque llevo varios meses leyendo el foro.

Bueno mi problema es el siguiente, quiero usar una funcion en dos formularios con nombres distintos, en mi caso se llaman registro y modificar

por ejemplo:

function prueba() {
contenido = document."nombredelfomulario"."nombreimput".value
}

¿Como podria hacer que funcionase en los dos formularios sin copiar y pegar la funcion y modificar el nombre del formulario independientemente?

Un saludo y disculpar las molestias de un novato
  #2 (permalink)  
Antiguo 16/01/2014, 13:29
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Usar una funcion en dos form distintos

Puedes añadir un parámetro y pasar el id/name del form y el id/name del elemento.
  #3 (permalink)  
Antiguo 16/01/2014, 13:43
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Usar una funcion en dos form distintos

entonces seria

onchange:prueba(registro)

pero en la funcion quedaria asi?

function prueba(nombre) {
contenido = document.nombre."nombreimput".value
}
  #4 (permalink)  
Antiguo 16/01/2014, 14:01
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Usar una funcion en dos form distintos

Código Javascript:
Ver original
  1. function prueba(nombre1,nombre2){
  2. return document[nombre1][nombre2].value;
  3. }

Algo así
  #5 (permalink)  
Antiguo 16/01/2014, 14:44
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Usar una funcion en dos form distintos

lo he intentado como dices y nada.

el html es el siguiente pasandole el parametro del id del <form>

Código HTML:
<td><input value="<?php echo($row[15]); ?> " type="text" maxlength="9" name="telefono" id="telefono" onchange="javascript:control_long(confirmacion);" onkeypress="return acceptNum(event);"></td> 
la funcion en la que lo estoy intentando es la siguiente

Código Javascript:
Ver original
  1. function control_long(nombre) {
  2.  
  3.     var telefono = document.registro.telefono.value.length;
  4.     if (telefono != 9) {
  5.         ltelefono.style.visibility="visible";
  6.         document.registro.telefono.value = "";
  7.         document.registro.telefono.focus();
  8.         }else{
  9.         tel=document.registro.telefono.value;
  10.         cartel=tel.substr(0,1);
  11.             if (cartel==9 || cartel==6){
  12.                 ltelefono.style.visibility="hidden";
  13.             }else{
  14.                 ltelefono.style.visibility="visible";
  15.                 document.registro.telefono.value = "";
  16.                 document.registro.telefono.focus();
  17.             }  
  18.         }
  19. }

cuando sustituyo registro por [nombre], el javascript deja de funcionar
  #6 (permalink)  
Antiguo 17/01/2014, 05:15
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Usar una funcion en dos form distintos

Se podria realizar con el parametro this?, tambien he probado con getElementById y no consigo que funcione
  #7 (permalink)  
Antiguo 17/01/2014, 13:09
 
Fecha de Ingreso: enero-2014
Mensajes: 10
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Usar una funcion en dos form distintos

creo que he encontrado una solucion:

al llamar a la funcion quedaria asi
Código HTML:
Ver original
  1. onchange="javascript:control_long(this.form);"
y en la funcion
Código Javascript:
Ver original
  1. var telefono = document.forms[0].telefono.value.length;

Lo he probado en una funcion y funciona en ambos formularios, ¿alguien sabe si es totalmente correcto o puede dar algun problema?

Etiquetas: distintos, form, formulario, funcion, usar
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:38.