Foros del Web » Programando para Internet » Javascript »

Problema con una funcion en .JS

Estas en el tema de Problema con una funcion en .JS en el foro de Javascript en Foros del Web. Hola a todos. Primero que nada gracias por la ayuda que hacen me ha servido de mucho. Bien me he topado con el siguiente problema: ...
  #1 (permalink)  
Antiguo 06/09/2010, 10:03
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Problema con una funcion en .JS

Hola a todos.

Primero que nada gracias por la ayuda que hacen me ha servido de mucho.
Bien me he topado con el siguiente problema:

1.- Tengo una funcion en un js a la cual le hago llamada con la siguiente sentencia:

Código PHP:
echo "<td><div align='center'>    <a style=\"color:#FFFFFF; font-family:'Calibri';\" href=\"javascript:addRowGrab('myGrab','".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','divMyGrab')\"> <img src='add.png'></a> </div></td>";        
    echo 
"</tr>"
2.- Esta la funcion a la que hago referencia:

Código Javascript:
Ver original
  1. function addRowGrab(idTabla, Nc, Nom,A_p, A_m, Esp, Sem, nomDiv ){
  2.      
  3.   var divS="<div align='center'><a style=\"color:#333333; font-family:'Calibri'; \">";
  4.   var divSC="</a></div>";
  5.   var table = document.getElementById(idTabla);
  6.  
  7. //get the table
  8. //elem.style.display=’none’;
  9. elem = document.getElementById(nomDiv);
  10. elem.style.display='block';
  11.  
  12.  
  13.   //get the number of rows currently in the table
  14.   var numRows = table.rows.length;
  15.   //insert a new row at the bottom
  16.   var newRow = table.insertRow(numRows);
  17.  // alert("mamada XD ini");
  18.   //create new cells
  19.   var newCell1 = newRow.insertCell(0);
  20.   var newCell2 = newRow.insertCell(1);
  21.   var newCell3 = newRow.insertCell(2);
  22.   var newCell4 = newRow.insertCell(3);
  23.   var newCell5 = newRow.insertCell(4);
  24.   var newCell6 = newRow.insertCell(5);  
  25.   var newCell7 = newRow.insertCell(6);  
  26.  
  27.   newCell1.innerHTML = divS+Nc+divSC;
  28.   newCell2.innerHTML = divS+Nom+divSC;
  29.   newCell3.innerHTML = divS+A_p+divSC;
  30.   newCell4.innerHTML = divS+A_m+divSC;
  31.   newCell5.innerHTML = divS+Esp+divSC;  
  32.   newCell6.innerHTML = divS+Sem+divSC;
  33.   newCell7.innerHTML = "<div align='center'><img src='delete.png'></a> </div>";
  34.  
  35. }// function

bueno por el momento lo que hace esta funcion es cargar los rows que le mando en la sentencia con la que la mando a llamar en una tabla que estaba oculta.

El problema es que no se como hacer para que cuando se le de click en el icono que hace la ejecucion de esta funcion se le quite el boton de <img src='add.png'> para que el usuario ya no pueda seguir agregandolo a la tabla.

Espero me haya hecho entender y de ante mano gracias. Espero sus respuestas.
  #2 (permalink)  
Antiguo 06/09/2010, 12:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema con una funcion en .JS

Hola

Vamos a intentarlo con un contador. También te he corregido alguna otra cosa
Código Javascript:
Ver original
  1. echo "<td><div align='center'>    <a style=\"color:#FFFFFF; font-family:'Calibri';\" href=\"#\" onclick=\"cont++; addRowGrab('myGrab','".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','divMyGrab', cont); return false;\"> <img src='add.png'></a> </div></td>";        
  2.     echo "</tr>";  
  3.  
  4. var cont = 0;
  5. function addRowGrab(idTabla, Nc, Nom,A_p, A_m, Esp, Sem, nomDiv, cont){
  6. if (cont >=1) {
  7. alert('no puedes inserta mas')
  8. } else {
  9. ........
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 06/09/2010, 13:00
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con una funcion en .JS

Hola Adler.

Veras he modificado a como he entendido y ahora cuando le doy click para que se agregue el alumno a la tabla, me sale el alert() sin haber insertado al alumno y pues sin mostrar la tabla.

Dejo la funcion como la modifique, perdona si es que no te he entendido.

Código Javascript:
Ver original
  1. var cont = 0;
  2.  
  3. //function addRowGrab(idTabla, Nc, Nom,A_p, A_m, Esp, Sem, nomDiv ){
  4.    
  5. function addRowGrab(idTabla, Nc, Nom,A_p, A_m, Esp, Sem, nomDiv, cont){
  6.    
  7.  
  8. if (cont >=1) {
  9. alert('no puedes inserta mas')
  10. } else {   
  11.    
  12.   var divS="<div align='center'><a style=\"color:#333333; font-family:'Calibri'; \">";
  13.   var divSC="</a></div>";
  14.   var table = document.getElementById(idTabla);
  15.  
  16. //get the table
  17. //elem.style.display=’none’;
  18. elem = document.getElementById(nomDiv);
  19. elem.style.display='block';
  20.  
  21.  
  22.   //get the number of rows currently in the table
  23.   var numRows = table.rows.length;
  24.   //insert a new row at the bottom
  25.   var newRow = table.insertRow(numRows);
  26.  // alert("mamada XD ini");
  27.   //create new cells
  28.   var newCell1 = newRow.insertCell(0);
  29.   var newCell2 = newRow.insertCell(1);
  30.   var newCell3 = newRow.insertCell(2);
  31.   var newCell4 = newRow.insertCell(3);
  32.   var newCell5 = newRow.insertCell(4);
  33.   var newCell6 = newRow.insertCell(5);  
  34.   var newCell7 = newRow.insertCell(6);  
  35.  
  36.   newCell1.innerHTML = divS+Nc+divSC;
  37.   newCell2.innerHTML = divS+Nom+divSC;
  38.   newCell3.innerHTML = divS+A_p+divSC;
  39.   newCell4.innerHTML = divS+A_m+divSC;
  40.   newCell5.innerHTML = divS+Esp+divSC;  
  41.   newCell6.innerHTML = divS+Sem+divSC;
  42.   //newCell7.innerHTML = "<div align='center'><img src='delete.png'></a> </div>";
  43.   newCell7.innerHTML =  "<div align='center'>   <a style=\"color:#FFFFFF;\" href=\"javascript:deleteRowGrab('myGrab','"+nomDiv +"')\"> <img src='delete.png'></a> </div>";
  44. }
  45. }// function

tambien he modificado la sentencia de llamada a la funcion como me la has puesto.

Última edición por roma_orm; 06/09/2010 a las 13:20
  #4 (permalink)  
Antiguo 06/09/2010, 13:33
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con una funcion en .JS

Hola Adler.

Asi como he dejado la funcion, jugando con el contador la funcion del contador no impide que se puedan insertar mas rows del mismo alumno, sino que funciona como un limitador de cuantas inserciones se pueden hacer a la tabla.

Mando una imagen del problema que surgio.
  #5 (permalink)  
Antiguo 06/09/2010, 15:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema con una funcion en .JS

Hola
Cita:
Iniciado por roma_orm Ver Mensaje
Hola Adler.

Asi como he dejado la funcion, jugando con el contador la funcion del contador no impide que se puedan insertar mas rows del mismo alumno, sino que funciona como un limitador de cuantas inserciones se pueden hacer a la tabla.

Mando una imagen del problema que surgio.
No entiendo lo que comentas.
En cuanto al problema de tu post anterior. La solución es if(cont >=2): Entendistes bien, pero las prisas ....

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 07/09/2010, 08:47
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con una funcion en .JS

Hola Adler.

Lo que pasa con la solucion que me propusiste, es que actua como un limitador de cuantas inserciones se pueden hacer a la tabla de abajo, pero deja que se sigan repitiendo inserciones del mismo alumno que es lo que no quiero que haga.

Lo que plantie fue como eliminar el boton de agregar, una vez que el usuario a dado click para adherirlo a la tabla y asi el usuario ya no pueda insertar de nuevo al mismo alumno.

Gracias.
  #7 (permalink)  
Antiguo 07/09/2010, 12:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema con una funcion en .JS

Hola

De acuerdo, no lo entiendo pero tu mandas
Cita:
echo "<td><div align='center'> <a id=\"vink\" style=\"color:#FFFFFF; font-family:'Calibri';\" href=\"#\" onclick=\"addRowGrab('myGrab','".$row[0]."','".$row[1]."','".$row[2]."','".$row[3]."','".$row[4]."','".$row[5]."','divMyGrab', this.id); return false;\"> <img src='add.png'></a> </div></td>";

function addRowGrab(thisA) {
document.getElementById(thisA).innerHTML = '';
}
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 07/09/2010, 16:28
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con una funcion en .JS

Muchas Gracias por tus respuestas Adler.

Me ha servido mucho.
He solucionado el problema gracias una vez mas saludos.

Espero contar con tu apoyo en proximas intervenciones.
  #9 (permalink)  
Antiguo 08/09/2010, 06:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema con una funcion en .JS

Cita:
Iniciado por roma_orm Ver Mensaje
Espero contar con tu apoyo en proximas intervenciones.
Lo intentaremos
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 23/09/2010, 08:32
 
Fecha de Ingreso: agosto-2010
Ubicación: Veracruz, Mexico
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con una funcion en .JS

Hola Adler.

Veras me he estancado con lo que me has ayudado, ya se insertan los alumnos a la tabla que hacemos visible y todo ya esta bien, pero tengo que insertar a una tabla de mi base de datos los registros que he metido a la tabla invisible, lo que necesito sacar son: el ID del grupo y los numero de control de los alumnos, de modo que cuando le de click al boton agregar solo jale esos valores para hacer la sentencia en SQL con esto es con lo que he podido avanzar.



Espero haberme hexo entender gracias.

Etiquetas: funcion, js
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 11:49.