Foros del Web » Programando para Internet » PHP »

Copiar datos de un textbox en otro textbox (array) php

Estas en el tema de Copiar datos de un textbox en otro textbox (array) php en el foro de PHP en Foros del Web. Que tal amigos, antes que nada les agradezco su interés y ayuda que siempre proporcionan en el foro. Tengo un problema: tengo un formulario donde ...
  #1 (permalink)  
Antiguo 19/07/2012, 19:32
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Copiar datos de un textbox en otro textbox (array) php

Que tal amigos, antes que nada les agradezco su interés y ayuda que siempre proporcionan en el foro. Tengo un problema:

tengo un formulario donde en una columna muestro en un array los alumnos de una escuela desde MySQL y en otra columna la fecha de asistencia. Me gustaría que en un solo textbox escribiera la fecha con la que se va a trabajar y automáticamente se copiara en todos los textbox vacíos de fecha que asigno para cada alumno, ya que me ahorraría mucho tiempo.

He puesto una función onclick al textbox pero no funciona.

De antemano muchas gracias

Código de formulario
Código PHP:

<?php
   
$usu_alum
=mysql_query("SELECT AP_PATERNO, AP_MATERNO, NOMBRE, ID_ALUMNO, MATRICULA FROM ml_dat_ALUMNO WHERE ID_GRUPO = '$nombre_gpo'");

echo 
"<table width='680' border='0' align='left'>"
   
echo 
'<form action="CONEXION_ASISTENCIA.php" id="form1" name="form1" method="POST">';

echo 
"<input type='text' name='FECHA' value='' onclick="document.form1.FECHA_ASISTENCIA.value=document.form1.FECHA.value;"/>";

echo 
"<tr>";

echo 
"<td>Nombre</td>";

echo 
"<td>Matricula</td>";

echo 
"<td >Asistencia</td>";

echo 
"<td>Fecha de asistencia</td>";

echo 
"</tr>";

while (
$row_asist mysql_fetch_row($usu_alum))    {
    
echo 
"<input type='hidden' name='ID_GRUP[]' id='ID_GRUP' value='$row_gpo[0]' />";

echo 
"<input type='text' name='ALUMNOS[]' value='$row_asist[3]'/>";

echo 
"<td ><input type='checkbox' name='ASIST[]' value='1'></td></input> \n";

echo 
"<td ><input type='text' name='FECHA_ASISTENCIA[]' size='20' maxlength='20' value=''></td></input> \n";

echo 
"</tr> \n";
    
}

echo 
"<td><input type='submit' name='ENVIAR' id='ENVIAR' value='Guardar'><input type='reset' name='RESTABLECER' id='RESTABLECER' value='Borrar datos'></td> \n";

echo 
"</table> \n";
 
echo 
'</form>';
 
 
?>
  #2 (permalink)  
Antiguo 19/07/2012, 20:48
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 10
De acuerdo Respuesta: Copiar datos de un textbox en otro textbox (array) php

Hola chubse:

Haber vamos hacer lo siguiente:

crea una funcion de javacript:

Código Javascript:
Ver original
  1. <javascript>
  2. function copiar()
  3. {
  4. var origen = document.getElementById('fecha').value;
  5. opener.document.getElementById('fecha_asistencia').value = origen;
  6. }
  7. </javascript>

En el php debes ponerle ID en los input, algo como esto:

Código PHP:
Ver original
  1. echo "<input type='text' name='FECHA' id='fecha' value='' onclick="javascript:copiar();" />";
  2.  
  3. echo "<td ><input type='text' name='FECHA_ASISTENCIA[]' id="fecha_asistencia" size='20' maxlength='20' value=''></td></input> \n";

Bueno con esto ya deberia funcionar, no lo testeee, pero es una idea general, espero y te sirva, éxito.
  #3 (permalink)  
Antiguo 20/07/2012, 10:49
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Copiar datos de un textbox en otro textbox (array) php

Muchas gracias Nopal_Studio, ya probé la secuencia que escribiste, sin embargo no logro copiar la fecha, no sé si este haciendo algo mal.

Código PHP:
Ver original
  1. <?php
  2.    
  3. $usu_alum=mysql_query("SELECT AP_PATERNO, AP_MATERNO, NOMBRE, ID_ALUMNO, MATRICULA FROM ml_dat_ALUMNO WHERE ID_GRUPO = '$nombre_gpo'");
  4.  
  5. echo "<table width='680' border='0' align='left'>";  
  6.    
  7. echo '<form action="CONEXION_ASISTENCIA.php" id="form1" name="form1" method="POST">';
  8.  
  9. echo "<SCRIPT LANGUAGE='javascript'>
  10. function copiar()
  11. {
  12. var origen = document.getElementById('FECHA').value;
  13. opener.document.getElementById('FECHA_ASISTENCIA').value = origen;
  14. }
  15. </SCRIPT>";
  16.  
  17. echo "<input type='text' name='FECHA' id='FECHA' value='' onclick='javascript:copiar();' />";
  18.  
  19. echo "<tr>";
  20.  
  21. echo "<td>Nombre</td>";
  22.  
  23. echo "<td>Matricula</td>";
  24.  
  25. echo "<td >Asistencia</td>";
  26.  
  27. echo "<td>Fecha de asistencia</td>";
  28.  
  29. echo "</tr>";
  30.  
  31. while ($row_asist = mysql_fetch_row($usu_alum))    {
  32.      
  33. echo "<input type='hidden' name='ID_GRUP[]' id='ID_GRUP' value='$row_gpo[0]' />";
  34.  
  35. echo "<input type='text' name='ALUMNOS[]' value='$row_asist[3]'/>";
  36.  
  37. echo "<td ><input type='checkbox' name='ASIST[]' value='1'></td></input> \n";
  38.  
  39. echo "<td><input type='text' name='FECHA_ASISTENCIA[]' id='FECHA_ASISTENCIA' size='20' maxlength='20' value=''></td></input> \n";
  40.  
  41. echo "</tr> \n";
  42.      
  43. }
  44.  
  45. echo "<td><input type='submit' name='ENVIAR' id='ENVIAR' value='Guardar'><input type='reset' name='RESTABLECER' id='RESTABLECER' value='Borrar datos'></td> \n";
  46.  
  47. echo "</table> \n";
  48.  
  49. echo '</form>';
  50.  
  51.  ?>
  #4 (permalink)  
Antiguo 20/07/2012, 13:18
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 10
De acuerdo Respuesta: Copiar datos de un textbox en otro textbox (array) php

Amigo, ahi te va una breve ejemplo, te comento que ya fue testeado y el resultado fue exitoso, solo que cambie un poquito el codigo, en lugar de onClick, usé onChange.

Empezemos con el Javascript (Te recomiendo que lo pongas en las etiquetas del Header, no dentro del PHP, pero es libre elección)

Código JAVASCRIPT:
Ver original
  1. <head>
  2. <script type="text/javascript">
  3.      function copiar()
  4.      {
  5.         var copiar = document.getElementById("Fecha");
  6.         var pegar = document.getElementById("Fecha_Asistencia");
  7.         pegar.value = copiar.value;
  8.      }
  9.     </script>
  10.  </head>

Ahora pasamos con el Codigo en PHP (solo lo hice con 2 input, por ser practico, lo demas te corresponde amigo)

Código PHP:
Ver original
  1. echo '
  2. <form action="conexion_asistencia.php" id="Form1" name="Form1" method="POST">
  3.         <input type="text" name="Fecha" id="Fecha" onchange="javascript:copiar();">
  4.          <input type="text" name="Fecha_Asistencia" id="Fecha_Asistencia">
  5.     </form>
  6. ';

Saludos y éxito...
  #5 (permalink)  
Antiguo 20/07/2012, 15:55
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Copiar datos de un textbox en otro textbox (array) php

Te agradezco mucho amigo, ya me funcionó bastante bien. Dirás que qué abusivo soy pero otra duda: ¿se puede copiar el dato del textbox "FECHA" al textbox "FECHA_ASISTENCIA" que es un array? Te pongo un ejemplo:

ID Alumno Fecha asistencia
1 José -------------------
2 María --------------------
3 Leonardo -------------------

Yo imprimo en un array todos los alumnos y después pongo un textbox ("FECHA_ASISTENCIA") sin valor para que me aparezcan vacíos y dependiendo el día de la asistencia yo pongo la fecha, pero para no hacerlo para cada alumno quisiera que con escribir solamente en otro textbox ("FECHA") la fecha me lo copiara en todos los campos del array.

Fecha: 2012/07/20

ID Alumno Fecha asistencia
1 José 2012/07/20
2 María 2012/07/20
3 Leonardo 2012/07/20

Es que como me compartiste el código sólo me copia la fecha en el primer registro puesto que sólo es uno.

Fecha: 2012/07/20

ID Alumno Fecha asistencia
1 José 2012/07/20
2 María -----------------
3 Leonardo -----------------

Muchas gracias por todo tu tiempo y compartir tu conocimiento
  #6 (permalink)  
Antiguo 20/07/2012, 16:33
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 10
De acuerdo Respuesta: Copiar datos de un textbox en otro textbox (array) php

Hola chubse, super que te haya servido, bueno con respecto a tu otra consulta, primero debes tener en cuenta que todos los input "Fecha_Asistencia" deben ser distintos uno de otro, por lo que veo en tu codigo cada vez que haces el recorrido con el while todos los nombras de la misma forma: "Fecha_Asistencia", cuando deberia ser por lo menos algo como: "Fecha_Asistencia1", "Fecha_Asistencia2", "Fecha_Asistencia3" y asi de esta forma cada input se podrá distinguir uno de otro.

Y como talvez se que no leiste nada de lo de arriba jajaja mejor te pongo el codigo que hice y probe jajaja, espero te sirva, el codigo fue testeado, saludos

Funcion de Javascript
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.      function copiar(quien)
  3.      {
  4.         var fecha = "Fecha_"+quien;
  5.         var fecha_asistencia = "Fecha_Asistencia_"+quien;
  6.         var copiar = document.getElementById(fecha);
  7.         var pegar = document.getElementById(fecha_asistencia);
  8.         pegar.value = copiar.value;
  9.      }
  10.     </script>

El codigo HTML y PHP
Código PHP:
Ver original
  1. <form action="conexion_asistencia.php" id="Form1" name="Form1" method="POST">
  2.      <?php
  3.      $numero = 1;
  4.      $limite = 10; //yo lo puse para mi ejemplo
  5.      while($numero <= $limite) // aqui debes poner lo de BD
  6.      {
  7.         echo "<input type=\"text\" name=\"Fecha_".$numero."\" id=\"Fecha_".$numero."\" onchange=\"javascript:copiar('".$numero."');\">
  8.                     <input type=\"text\" name=\"Fecha_Asistencia_".$numero."\" id=\"Fecha_Asistencia_".$numero."\"><br />";
  9.                     $numero++;
  10.      }
  11.      ?>
  12.     </form>

Espero y te sea funcional, solo recuerda que todo es en ejemplo, es decir, debes adecuarlo a tus necesidades... Éxito.
  #7 (permalink)  
Antiguo 23/07/2012, 12:54
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Copiar datos de un textbox en otro textbox (array) php

Perdón por la tardanza amigo pero estaba probando los códigos, me funcionaron a la perfección, sólo no pude lograr que con escribir en un textbox me copiara en todos los textbox pintados a partir del array, sin embrago seguiré intentando con tu valiosa ayuda que me brindaste, te agradezco mucho.
  #8 (permalink)  
Antiguo 23/07/2012, 14:59
Avatar de Nopal_Studio  
Fecha de Ingreso: julio-2012
Ubicación: DF
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Copiar datos de un textbox en otro textbox (array) php

No entendi a que te refieres con "no pude lograr que con escribir en un textbox me copiara en todos los textbox pintados a partir del array" Talvez sea mas sencillo si visualmente colocas todo tu codigo para ayudarte, porque la base principal en mi percepción es la solución a todo el conflicto...

Claro todo esto si aun requires de el apoyo...
  #9 (permalink)  
Antiguo 23/07/2012, 16:15
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Copiar datos de un textbox en otro textbox (array) php

Otra vez gracias amigo, mira lo que no pude lograr es que cuando escribo la fecha de asistencia en el textbox 'Fecha' se escriba automáticamente en todos los textbox 'Fecha_asistencia' que son pintados a partir del array y con el código que me sugeriste me pinta con el while el mismo numero de cuadros de texto de 'Fecha' y 'Fecha_asistencia'. Lo que necesito es que con un cuadro de texto (Fecha) llene todos los cuadros del array (Fecha_asistencia) con la misma fecha, ya que la fecha de asistencia es la misma para todos los alumnos y no tenga que escribirla a mano para cada estudiante.

Te agradezco mucho

Código PHP:
while($numero <= $limite// aqui debes poner lo de BD
     
{
        echo 
"<input type=\"text\" name=\"Fecha_".$numero."\" id=\"Fecha_".$numero."\" onchange=\"javascript:copiar('".$numero."');\">
                    <input type=\"text\" name=\"Fecha_Asistencia_"
.$numero."\" id=\"Fecha_Asistencia_".$numero."\"><br />";
                    
$numero++;
     } 

Etiquetas: mysql, textbox, arreglos
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 08:20.