Foros del Web » Programando para Internet » Javascript »

arreglo de input con php y JavaScript

Estas en el tema de arreglo de input con php y JavaScript en el foro de Javascript en Foros del Web. Hola Buenas tardes por favor solicito de su ayuda por favor. La situación es la siguiente: Estoy haciendo un sistema de captura de calificaciones, obtengo ...
  #1 (permalink)  
Antiguo 25/06/2014, 12:47
Avatar de dante2007_age  
Fecha de Ingreso: junio-2014
Ubicación: México
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta arreglo de input con php y JavaScript

Hola Buenas tardes por favor solicito de su ayuda por favor. La situación es la siguiente: Estoy haciendo un sistema de captura de calificaciones, obtengo el listado de alumnos de la base de datos que contiene matricula, nombre de alumno, dibujo un input para que se almacene la calificación y el tipo de acreditación con otro input de manera dinámica, es decir:
Código PHP:
<tr    class="tabfill">
<td class="tabdato" align="left"><input type="text" name="id[]" value="<?php echo $row2[5]?>" /></td> //id en la base de datos del alumno
<td class="tabdato" align="left"><?php echo $row2[0]?></td>
<td class="tabdato" align="left"><?php echo $row2[1]." ".$row2[2]." ".$row2[3]?></td> //nombre del alumno
<td class="tabdato" align="left"><input type="text" name="cal[]" value="" id="cal[]" onchange=onchange="tipoeval();"></td>
<td class="tabdato" align="left"><input type="text" name="evalu[]" value="" id="evalu[]" /></td>

</tr>
Arreglo de calificaciones : cal[]
Arreglo de tipo de acreditación: evalu[]

Hasta aquí todo bien, lo que no he podido hacer y necesito se realice es que al momento de ingresar una calificación del alumno 1 por ejemplo, evalué si la calificación es aprobatoria o reprobatoria y al momento de dar click o quitar el foco del input de cal[] se llene el input de evalu[] con una letra A de aprobado o R de reprobado y que esta acción se vaya ejecutando al momento de capturar cada calificación. No he podido lograr que por medio de Javascript recorra el arreglo de la lista, porque ademas son diferentes listas por lo tanto varia la cantidad de alumnos cada vez.
Tengo el siguiente script en JavaScript pero no me funciona.
Código HTML:
<script type="text/javascript">
        // funcion que se ejecuta cada vez que se selecciona una empresa
        function tipoeval()
        {
			if(document.getElementByName('cal').length < 70){

  
		            document.getElementByName('evalu').value="A";

        }
		if(document.getElementByName('cal').length >= 70){

       
		            document.getElementByName('evalu').value="R";

        }
			}
		
    </script> 
Por favor si alguien pudiera sugerirme alguna solución se lo agradezco de antemano
  #2 (permalink)  
Antiguo 25/06/2014, 17:14
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: arreglo de input con php y JavaScript

Amigo:

Creo estas confundiendo el nombre de la funcion que necesitas:

getElementByName() no existe..... en todo caso seria getElementsByTagName() pero tampoco es la que necesitas

Debes usar getElementById()
__________________
Salu2!
  #3 (permalink)  
Antiguo 25/06/2014, 17:26
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: arreglo de input con php y JavaScript

El nombre es getElementsByName:
https://developer.mozilla.org/en-US/...ElementsByName
  #4 (permalink)  
Antiguo 25/06/2014, 18:20
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: arreglo de input con php y JavaScript

Cita:
Iniciado por Panino5001 Ver Mensaje
Cierto.... no se en que estaba pensando......

Igualmente (de pura suerte) lo resuelve con cualquiera de ellos tal y como esta el formulario
__________________
Salu2!
  #5 (permalink)  
Antiguo 25/06/2014, 21:58
Avatar de dante2007_age  
Fecha de Ingreso: junio-2014
Ubicación: México
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: arreglo de input con php y JavaScript

Muchas gracias por sus respuestas lo voy a modificar de acuerdo a sus sugerencias, pruebo el código y les comento el resultado
  #6 (permalink)  
Antiguo 26/06/2014, 01:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: arreglo de input con php y JavaScript

Hola:

Si te refieres a getElementsByName, debes considerar que se trata de un array, así que debes indicar su índice (a no ser que consultes su longitud).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 26/06/2014, 09:16
Avatar de dante2007_age  
Fecha de Ingreso: junio-2014
Ubicación: México
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: arreglo de input con php y JavaScript

Hola caricatos exactamente ese es el punto, no entiendo como en javascript declarar un ciclo u obtener por la propiedad length el tamaño del arreglo que es dinámico ya que saco las listas de alumnos por grupo y por lo tanto el número de alumnos es variable.

alumno calificacion tipo_eval

1 80 A // necesito que al momento de capturar la calificación
2 50 R //automaticamente se evalue y que se llene el input tipo_eval
3 100 A // con la letra correspondiente

No se como declarar el ciclo en javascript para que evalue cada elemento del arreglo, y precisamente como comentas obtener la cantidad de elementos del array, como puedes ver coloqué length pero no es lo adecuado.

Por favor si me pudieras apoyar te lo agradecería muchisimo.

JavaScript
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.        
  3.         function tipoeval()
  4.         {
  5.             if(document.getElementsByName('cal').length < 70){
  6.  
  7.  
  8.                     document.getElementsByName('evalu').value="R";
  9.  
  10.         }
  11.         if(document.getElementsByName('cal').length >= 70){
  12.  
  13.  
  14.                     document.getElementsByName('evalu').value="O";
  15.  
  16.         }
  17.             }
  18.        
  19.     </script>


PHP
Código PHP:
Ver original
  1. <table class="formatable">
  2. <th class="tabtit">relacion acd</th>
  3.  
  4. <th class="tabtit">No. Control</th>
  5. <th class="tabtit">Nombre del alumno</th>
  6. <th class="tabtit">Calificacion</th>
  7. <th class="tabtit">Estado</th>
  8. <?php
  9. while($row2=mysql_fetch_array($query2)):?>
  10. <tr class="tabfill">
  11. <td class="tabdato" align="left"><input type="text" name="id[]" value="<?php echo $row2[5]?>" /></td>
  12. <td class="tabdato" align="left"><?php echo $row2[0]?></td>
  13. <td class="tabdato" align="left"><?php echo $row2[1]." ".$row2[2]." ".$row2[3]?></td>
  14. <td class="tabdato" align="left"><input type="text" name="cal[]" value="" id="cal[]" onchange="tipoeval();"></td>
  15. <td class="tabdato" align="left"><input type="text" name="evalu[]" value="" id="evalu[]" /></td>
  16.  
  17. </tr>
  18. <?php endwhile;?>
  19. </table>
  20. <?php

Ahora no se si debe ser getElementById o ByName

Última edición por dante2007_age; 26/06/2014 a las 09:19 Razón: Faltó indicar otras dudas
  #8 (permalink)  
Antiguo 26/06/2014, 11:39
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: arreglo de input con php y JavaScript

Como tienes un array de campos..... porque tienes varios registro de alumnos, yo lo haria asi:

Cita:
<input type="text" name="cal[]" value="" id="cal[]" onchange="tipoeval(this); />"
Luego en tipoeval() obtienes el "elemento padre" (parent) que es un <tr class="tabfill"> y buscas un hijo (child) con name="evalu[]" value="" o bien id="evalu[]" y a ese hijo le cambias su value
__________________
Salu2!
  #9 (permalink)  
Antiguo 27/06/2014, 08:34
Avatar de dante2007_age  
Fecha de Ingreso: junio-2014
Ubicación: México
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: arreglo de input con php y JavaScript

Hola Italico gracias por tu respuesta la verdad tengo conocimientos muy básicos de javascript y por lo tanto no se como manipular el DOM pero estoy investigando para poder aplicar la opción que me das. Muchas gracias por contestar. Saludos.

Etiquetas: arreglo, funcion, input, php
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 20:20.