Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/06/2005, 14:06
Fox Mulder
 
Fecha de Ingreso: junio-2004
Mensajes: 11
Antigüedad: 22 años, 3 meses
Puntos: 0
Por supuesto que me ha ayudado, muchas gracias!

Aqui está el código logrado (la funcion isAnsiDate() no es totalmente mía, asi que prefiero obviarla)
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
<
head>
<
title>Simulacion - Coberturas</title>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
script>
function 
isAnsiDate(sFecha){
    return 
true;
}
function 
agregarCosa(){
    var 
fechaInicio, tamano
    
do{
        
fechaInicio = prompt("Fecha de Inicio: (aaaa-mm-dd)", "");
    }while(!
isAnsiDate(fechaInicio) && fechaInicio!=null);
    if(
fechaInicio != null){
        do{
            
tamano = prompt("Tamaño del Lote:", "");
        }while(
isNaN(parseInt(tamano)) && tamano!=null);
        if(
tamano != null){
            
insertaCosa(fechaInicio, parseInt(tamano));
        }
    }
}
function 
insertaCosa(fechaInicio, tamano){
    var 
tablaCosas        = document.getElementById("tbodyTablaSimulacion");
    var 
fila            = document.createElement("tr");
    var 
tdFechaInicio    = document.createElement("td");
    var 
tdTamano        = document.createElement("td");
    var 
tdControles        = document.createElement("td");
    var 
i, inserted;
    
tdFechaInicio.innerHTML = fechaInicio;
    
tdTamano.innerHTML = tamano;
    
tdControles.innerHTML = '<input name="btnEditarCosa" id="btnEditarCosa" type="button" value="E" onClick="editarCosa(this);"><input name="btnEliminarCosa" id="btnEliminarCosa" type="button" value="X" onClick="eliminarCosa(this);">';
    
fila.appendChild(tdFechaInicio);
    
fila.appendChild(tdTamano);
    
fila.appendChild(tdControles);
    
i=0;
    
inserted = false;
    while(
i<tablaCosas.childNodes.length && !inserted){
        if(
tablaCosas.childNodes[i].childNodes[0].innerText > fechaInicio){
            
tablaCosas.insertBefore(fila, tablaCosas.childNodes[i])
            
inserted = true;
        }
        
i++;
    }
    if(!
inserted){
        
tablaCosas.appendChild(fila);
    }
}
function 
eliminarCosa(boton){
    if(
confirm("¿Deseas eliminar la Cosa?")){
        
boton.parentNode.parentNode.parentNode.removeChild(boton.parentNode.parentNode);
    }
}
function 
editarCosa(boton){
    var 
fechaInicio, tamano
    
do{
        
fechaInicio = prompt("Fecha de Inicio: (aaaa-mm-dd)", boton.parentNode.parentNode.childNodes[0].innerText);
    }while(!
isAnsiDate(fechaInicio) && fechaInicio!=null);
    if(
fechaInicio != null){
        do{
            
tamano = prompt("Tamaño del Lote:", boton.parentNode.parentNode.childNodes[1].innerText);
        }while(
isNaN(parseInt(tamano)) && tamano!=null);
        if(
tamano != null){
            
boton.parentNode.parentNode.parentNode.removeChild(boton.parentNode.parentNode);    //eliminamos Cosa antigua
            
insertaCosa(fechaInicio, parseInt(tamano));                                            //reemplazamos por nuevos datos.
        
}
    }
}
function 
inicializaCosas(){
    
insertaCosa("2005-01-01",10);
    
insertaCosa("2005-05-15",20);
    
insertaCosa("2005-03-21",30);
    
insertaCosa("2004-04-26",40);
    
insertaCosa("2005-04-19",50);
}
</script>
</head>

<body onLoad="inicializaCosas();">
<table id="tablaSimulacion" border="1">
    <thead>
    <tr>
        <td>Fecha de Inicio</td>
        <td>Tamaño de Lote</td>
        <td><input name="btnAgregarCosa" type="button" value="+" onClick="agregarCosa();"></td>
    </tr>
    </thead>
    <tbody id="tbodyTablaSimulacion">
    </tbody>
</table>
</body>
</html>