Foros del Web » Programando para Internet » Javascript »

Como utilizar una funcion en un formulario determinado?

Estas en el tema de Como utilizar una funcion en un formulario determinado? en el foro de Javascript en Foros del Web. <script> function marcar(chk) { for(i=1;ele = arguments[i]; i++) document.forms[0][ele].checked=chk.checked; } </script> Hola, la siguiente función la hizo JavierB en uno de estos foros y veo ...
  #1 (permalink)  
Antiguo 18/05/2012, 04:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 14 años
Puntos: 6
Pregunta Como utilizar una funcion en un formulario determinado?

<script>
function marcar(chk) {
for(i=1;ele = arguments[i]; i++)
document.forms[0][ele].checked=chk.checked;
}
</script>

Hola, la siguiente función la hizo JavierB en uno de estos foros y veo que es perfecta para aplicarla en un formulario de mi web, para marcar o demarcar checkboxes que tengan una id determinada.
El problema es que tengo 3 formularios en esa misma página, si quito los otrs dos funciona perfecto, pero si tengo los 3 formularios, no funciona.

Uso luego esto dentro del form F1:
<input type="checkbox" onclick="marcar(this,'pasa7','pasa8','pasa9')


Imagino que se podrá modificar para que haga lo mismo pero solamente en el formulario de nombre F1

Alguien puede por favor ayudarme?.

Por cierto, si de paso en vez de funcionar con los check que se llamen de forma determinada, lo hiciese con todos aquellos que contengan una cadena determinada, por ejemplo los check que contengan la cadena "pasa", pues sería más que perfecto.

Gracias
  #2 (permalink)  
Antiguo 18/05/2012, 05:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Como utilizar una funcion en un formulario determinado?

document.forms['F1'][ele].checked=chk.checked;

En la colección forms puedes referirte a sus elementos por su indice (0,1,2,...), por su id o por su nombre..... en principio deberia funcionar igual ... has cambiado ese 0 cero por el indice que le toque al formulario en cuestión...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/05/2012 a las 05:09
  #3 (permalink)  
Antiguo 18/05/2012, 08:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 14 años
Puntos: 6
Respuesta: Como utilizar una funcion en un formulario determinado?

A pesar de estar suscrito no había recibido tu mensaje es por eso que no te he dado las gracias antes. Mil gracias quimfv, me funciona genial.

¿Te atreves a rematar la faena y decirme como podría hacerlo para que en vez de por el nombre específico de cada elemento, funcionase con todos aquellos elementos que contengan la cadena "para"?.

Gracias de nuevo
  #4 (permalink)  
Antiguo 18/05/2012, 10:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 14 años
Puntos: 6
Respuesta: Como utilizar una funcion en un formulario determinado?

Por favor alguna idea alguien?
  #5 (permalink)  
Antiguo 18/05/2012, 13:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como utilizar una funcion en un formulario determinado?

Que tengan la cadena donde? En el id, el name, el value?
Dá precisiones

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 18/05/2012, 13:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 14 años
Puntos: 6
Respuesta: Como utilizar una funcion en un formulario determinado?

Gracias por responder. Pues que tengan la misma cadena bien el el id o en el name, igual da. Pero que en vez de ser por ejemplo pasa1, pasa2, pasa3, pasa... que siemplemente diga, cualquiera que tenga la cadena "pasa" en el name por ejemplo.

Gracias. Como es lógico no solo habría que cambiar la función, si no también el onclick

Gracias
  #7 (permalink)  
Antiguo 18/05/2012, 14:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Como utilizar una funcion en un formulario determinado?

Usá expresión regular con match()
Código Javascript:
Ver original
  1. var e= document.forms['F1'][ele];
  2. var n=e.name.match(/pasa/);
  3. if(n){
  4. alert('tiene pasa');
  5. }

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 18/05/2012, 14:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 14 años
Puntos: 6
Respuesta: Como utilizar una funcion en un formulario determinado?

Te lo agradezco mucho. Habría que integrar esto con la otra función, ya que con esto detectaría la cadena, pero no haría el check de todos los checkboxes con esa cadena.

He encontrado una solución, que es simplemente aplicar el script que antes mencioné y que me terminó de ayudar a implementarlo quimfv, y como le tengo que poner los elementos pasa1, pasa2, pasa3,... para que funcione, le meto dentro del checkbox una consulta a la base de datos, le extraigo con php todos los elementos y le hago el array dentro de ese <input type="checkbox" onclick="marcar(this,'pasa1','pasa2','pasa...') />

Al final obtengo lo mismo que quería. Es un poco más rebuscado pero funciona genial.

Muchas gracias a los dos por la ayuda.

Saludos,

Etiquetas: checkbox, funcion, cadenas
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 22:48.