Foros del Web » Programando para Internet » Javascript »

actualizar dato al borrar un elemento

Estas en el tema de actualizar dato al borrar un elemento en el foro de Javascript en Foros del Web. Buenas foro Alguien sabe como se puede actualizar un dato al eliminar un elemento. Estoy creando un formulario dinámico con JAVASCRIPT y crea perfectamente los ...
  #1 (permalink)  
Antiguo 19/03/2013, 12:20
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta actualizar dato al borrar un elemento

Buenas foro

Alguien sabe como se puede actualizar un dato al eliminar un elemento.
Estoy creando un formulario dinámico con JAVASCRIPT y crea perfectamente los elementos que necesito, mi problema es que si creo tres div y elimino el segundo los id's se quedan como 1 y 3 cuando el 3 debería de actualizarse a 2 alguien sabe como hacer esto:

Código Javascript:
Ver original
  1. num=0;
  2. function crear(obj) {
  3.   num++;
  4.   fi = document.getElementById('detalle');
  5.   contenedor = document.createElement('div');
  6.   contenedor.id = 'div'+num;
  7.   fi.appendChild(contenedor);
  8.  
  9.   var lista = document.createElement('select');
  10.     lista.name = "unidad"+num;
  11.     var op0 = new Option("","");
  12.     var op1 = new Option("Paquete", "Paquete");
  13.     var op2 = new Option("Pieza", "Pieza");
  14.     var op3 = new Option("Servicio", "Servicio");
  15.     var op4 = new Option("No aplica", "No aplica");
  16.     lista.appendChild(op0);  
  17.     lista.appendChild(op1);
  18.     lista.appendChild(op2);
  19.     lista.appendChild(op3);  
  20.     lista.appendChild(op4);  
  21.     contenedor.appendChild(lista);  
  22.  
  23.   ele = document.createElement('input');
  24.   ele.type = 'text';
  25.   ele.name = 'cantidad'+num;
  26.   contenedor.appendChild(ele);
  27.  
  28.   ele = document.createElement('input');
  29.   ele.type = 'text';
  30.   ele.name = 'precio'+num;
  31.   contenedor.appendChild(ele);
  32.  
  33.   ele = document.createElement('input');
  34.   ele.type = 'text';
  35.   ele.name = 'cantidad'+num;
  36.   contenedor.appendChild(ele);
  37.  
  38.   ele = document.createElement('input');
  39.   ele.type = 'button';
  40.   ele.value = 'Borrar';
  41.   ele.name = 'div'+num;
  42.   ele.onclick = function () {borrar(this.name)}
  43.   contenedor.appendChild(ele);
  44. }
  45. function borrar(obj) {
  46.   num--;
  47.   fi = document.getElementById('detalle');
  48.   fi.removeChild(document.getElementById(obj));
  49. }

De antemano muchas gracias.
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 19/03/2013, 15:03
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: actualizar dato al borrar un elemento

lo primero que te sugiero es que uses el método cloneNode(). por otro lado, en lugar de usar ids, usa name[]. de este modo podrás validar y leer, al recibir, los valores del formulario. si es que esa es tu intención
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 19/03/2013, 23:29
 
Fecha de Ingreso: septiembre-2012
Ubicación: Buenos aires
Mensajes: 110
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: actualizar dato al borrar un elemento

pfff hermano como te complicas con las 20 mil variables, te paso esto, te va a servir...

Código Javascript:
Ver original
  1. function Crear(){
  2.  
  3. // variables
  4. datos [['',''],['Paquete','Paquete'],['Pieza','Pieza'],['Servicio','Servicio'],['No aplica','No aplica']];
  5. var select = document.createElement('select');
  6.  
  7. // add dates
  8. select.id = '';
  9. select.name ='';
  10.  
  11. // Bucle datos...
  12. for(var i=0;i<datos.length;i++){
  13.  
  14.  
  15. var opt_i = new Option(datos[i][0],datos[i][1]);
  16.  
  17. select.appendChild(opt+i);
  18.  
  19. }
  20.  
  21.  
  22.  
  23. }


suplanta esto.


Código Javascript:
Ver original
  1. var lista = document.createElement('select');
  2.     lista.name = "unidad"+num;
  3.     var op0 = new Option("","");
  4.     var op1 = new Option("Paquete", "Paquete");
  5.     var op2 = new Option("Pieza", "Pieza");
  6.     var op3 = new Option("Servicio", "Servicio");
  7.     var op4 = new Option("No aplica", "No aplica");
  8.     lista.appendChild(op0);  
  9.     lista.appendChild(op1);
  10.     lista.appendChild(op2);
  11.     lista.appendChild(op3);  
  12.     lista.appendChild(op4);

Etiquetas: dato, elemento, formulario, input, select
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 04:25.