Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2012, 17:46
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 6 meses
Puntos: 220
Respuesta: Consulta con edición "en vivo"

Bueno amigo te dejo un ejemplo básico tu lo puedes ya mejorar de como hacer lo que quieres

Código HTML:
Ver original
  1. <div id="main">
  2.     <div id="title">
  3.         NOTICIA 1
  4.     </div>
  5.     <br />
  6.     <div id="content">
  7.         CONTENIDO
  8.     </div>
  9. <div>
  10. <a id="edit" href="#">Editar</a>

Código Javascript:
Ver original
  1. // FUNCION QUE SE ENCARGA DE SACAR LOS ESPACIOS EN BLANCO DE UNA CADENA
  2.     String.prototype.Trim = function() {
  3.         return this.replace(/^\s+|\s+$/g,"");
  4.     }
  5.     // FUNCION QUE ME PERMITE MANEJAR LOS EVENTOS DE LOS NAVEGADORES
  6.     function createEvent(elem,even,func){
  7.         if (elem.addEventListener){
  8.             elem.addEventListener(even, func, false);
  9.         }
  10.         else{
  11.             elem.attachEvent('on' + even, func);
  12.         }
  13.     }
  14.     // FUNCION CUANDO INICIALIZA MI PAGINA
  15.     function init(){
  16.         var edit = document.getElementById("edit");
  17.         createEvent(edit,"click",function(){
  18.             editar();
  19.             return false;
  20.         });
  21.     }
  22.     // ESTA ES LA FUNCION EDITAR EN VIVO
  23.     function editar(){
  24.         var main = document.getElementById("main");
  25.         var title = document.getElementById("title");
  26.         var content = document.getElementById("content");
  27.         var editTitle = document.createElement("input");
  28.         var editContent = document.createElement("textarea");
  29.         var edit = document.getElementById("edit");
  30.         var save = document.createElement("input");
  31.         var space1 = document.createElement("br");
  32.         var space2 = document.createElement("br");
  33.        
  34.         editTitle.id = "editTitle";
  35.         editContent.id = "editContent";
  36.         save.id = "save";
  37.         space1.id = "space1";
  38.         space2.id = "space2";
  39.        
  40.         editTitle.type = "text";
  41.         save.type = "button";
  42.        
  43.         editTitle.value = title.innerHTML.Trim();
  44.         editContent.innerHTML = content.innerHTML.Trim();
  45.         save.value = "Editar";
  46.        
  47.         title.style.display="none";
  48.         content.style.display="none";
  49.         edit.style.display="none";
  50.        
  51.         main.insertBefore(editTitle);
  52.         main.insertBefore(space1);
  53.         main.insertBefore(editContent);
  54.         main.insertBefore(space2);
  55.         main.insertBefore(save);
  56.        
  57.         createEvent(save,"click",function(){
  58.             var _main = document.getElementById("main");
  59.             var _title = document.getElementById("title");
  60.             var _content = document.getElementById("content");
  61.             var _edit = document.getElementById("edit");
  62.             var _editTitle = document.getElementById("editTitle");
  63.             var _editContent = document.getElementById("editContent");
  64.             var _save = document.getElementById("save");
  65.             var _space1 = document.getElementById("space1");
  66.             var _space2 = document.getElementById("space2");
  67.            
  68.             _title.innerHTML = _editTitle.value;           
  69.             _content.innerHTML = _editContent.value;
  70.            
  71.             _main.removeChild(_editTitle);
  72.             _main.removeChild(_editContent);
  73.             _main.removeChild(_save);
  74.             _main.removeChild(_space1);
  75.             _main.removeChild(_space2);
  76.            
  77.             _title.style.display="block";
  78.             _content.style.display="block";
  79.             _edit.style.display="block";
  80.            
  81.             return false;
  82.         });
  83.     }
  84.  
  85.     window.onload = init;
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones