Foros del Web » Programando para Internet » Javascript »

selección de checkboxs entre formularios

Estas en el tema de selección de checkboxs entre formularios en el foro de Javascript en Foros del Web. Hola Necesito poder coger el valor de unos input de tipo checkbox que están en un formulario, desde otro formulario, en el lado del cliente, ...
  #1 (permalink)  
Antiguo 13/03/2011, 12:50
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
selección de checkboxs entre formularios

Hola

Necesito poder coger el valor de unos input de tipo checkbox que están en un formulario, desde otro formulario, en el lado del cliente, es decir antes de hacer el submit, y ambos formularios están en diferentes archivos.

Los checkbox son creados con un foreach mediante php, y controlo cuales se seleccionan mediante javascript. El asunto es que tengo estructurado todo en varios archivos, y es lo que me complica, pero necesito esto así por cuestiones de organización.

control_hosts.php:
Código HTML:
Ver original
  1. <script language="javascript" src="js/functions.js" type="text/javascript">
  2. </head>
  3.  
  4. <form name='shutdownFrm' action='exec.php' method='post'>
  5.  
  6. <table border=1 width=320px>
  7.  
  8. <?php
  9. foreach($hosts as $host)
  10. {
  11.   echo"
  12.    <tr>
  13.       <td width='23px'><input type='checkbox' id='chk1' name='seleccion[]' value='$host' onClick='selecChecks()'></td>
  14.     </tr>
  15.    ";
  16. }
  17. ?>
  18.  
  19. <tr>
  20.  <td>
  21.     <input type='submit' name='shutdownConfirmBtn' value='Confirmar' disabled>
  22.   </td>
  23. </tr>
  24.  
  25.  
  26. </form>
  27.  
  28. </body>
  29.  
  30. </html>


control_services.php:
Código HTML:
Ver original
  1. <script language="javascript" src="js/functions_services.js"></script>
  2. </head>
  3.  
  4.  
  5. <form name='servicesFrm' action='exec.php' method='post'>
  6.  
  7. <table border=1 width=200px>
  8. <tr height=40px>
  9.  <td></td>
  10.  <?php
  11.    foreach($services as $service) {
  12.        echo"
  13.           <td>$service <input type='radio' name='service' value='$service'></td>
  14.         ";
  15.        }
  16.   ?>
  17. </tr>
  18. <?php
  19. foreach($hosts as $host) {  
  20. echo"
  21. <tr>
  22.    <td>$host</td>
  23.  </tr>
  24.  ";
  25. }
  26. ?>
  27.  
  28. <tr>
  29.  <td>
  30.     <input type='submit' name='scConfirmBtn' value='Confirmar' disabled>
  31.   </td>
  32. </tr>
  33.  
  34.  
  35. </form>
  36.  
  37. </body>
  38.  
  39. </html>


Estos dos archivos son cargados en una misma pagina mediante includes en lo que sería la pagina principal.

En los functions.js basicamente lo que tengo son funciones para seleccionar los checks, y realizar otras acciones como estas:
functions.js
Código Javascript:
Ver original
  1. function checkvalidate(checks){
  2.     for (i=0; lcheck=checks[i]; i++) {
  3.         if (lcheck.checked) {
  4.             return true;
  5.         }
  6.     }
  7.     return false;
  8.   };
  9.  
  10. function selecChecks(){
  11.   var checkboxes = document.getElementsByName('seleccion[]');
  12.   if (checkvalidate(checkboxes))
  13.         {
  14.           document.shutdownFrm.shutdownConfirmBtn.disabled = false;
  15.           document.servicesFrm.scConfirmBtn.disabled = false;          
  16.         }
  17.         else
  18.         {
  19.           document.shutdownFrm.shutdownConfirmBtn.disabled = true;
  20.           document.servicesFrm.scConfirmBtn.disabled = true;
  21.         }    
  22. };

Resumiendo lo que quiero es que cada check que se seleccione lo sepa el formulario de al lado, para que los submits de ambos formularios puedan actuar con esos valores. Creo que esto se tiene que hacer con js, ya que lo necesito en el lado del cliente, asi que he puesto este post en esta sección.
  #2 (permalink)  
Antiguo 14/03/2011, 08:48
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: selección de checkboxs entre formularios

la única solución que se me ocurre, si han de ser dos archivos, es usar iframe en vez de include. de esta manera puedes acceder a los controles de ambos documentos
Cita:
window.frames['frame1'].document.getElementById('control')
window.frames['frame2'].document.getElementById('control')
  #3 (permalink)  
Antiguo 14/03/2011, 15:44
 
Fecha de Ingreso: noviembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: selección de checkboxs entre formularios

Gracias por tu respuesta IsaBelM.

Nunca he usado iframe, pero me lo miro a ver.

De momento estaba solucionando este asunto generando la misma lista de checkbox en ambos formularios, y via javascript hacer que cuando se seleccione un checkbox en el formulario A también lo haga en el formulario B, con la idea de ocultar la columna en el formulario B, aunque todavía no lo he logrado al completo.

Aunque ahora que estoy usando includes para llamar a ambos .php no me impide actuar sobre elementos de uno y otro formulario desde javascript. En el codigo que puse con funciones js, estoy activando o desactivando los botones submit de ambos formularios, llamando incluso únicamente desde elementos de uno de los dos formularios.

Etiquetas: formulario
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 13:06.