Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2007, 15:40
Avatar de El_Metallick
El_Metallick
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 1 mes
Puntos: 16
Error al tratar de eliminar un nodo hijo de un div

Hola maestros, estoy tratando de eliminar un nodo p que es hijo de un div y no me deja y no entiendo porque, bueno en el código sale como agrego nodos al div y como trato de eleminarlos espero me puedan ayudar.

Código:
function upload(type,max) {
    if(type == 'single') {
        var form = document.getElementById('form');
    
        form.submit();
        
        var file = document.getElementById('file');
        var nAttachment = document.getElementById('nAttachment').value;
        var div = document.getElementById('inputFile');
    
        document.getElementById('nAttachment').value = ++nAttachment;
        var p = document.createElement('p');
        
        p.id = 'p' + nAttachment;
    
        if(document.getElementById('nAttachment').value == 1) {
            var files = document.createTextNode('Archivos:')
        
            div.appendChild(files);
        }
    
        var img = document.createElement('img');
    
        img.src = 'images/wait.gif';
        img.alt = 'Porfavor espere...';
        img.id = nAttachment;
        img.width = '20';
        img.height = '20';
        
        var text = document.createTextNode(file.value);
        
        p.appendChild(img);
        p.appendChild(text);

        div.appendChild(p);
        
        file.value = '';

        if(nAttachment == max) {
            file.disabled = true;
        }
    }
}

function uploadResult(status,file,id) {
    id++;
    
    if(status == 0) {
        var p = document.createElement('p');
        
        p.id = id;
        
        var img = document.createElement('img');
        
        img.src = 'images/ok.gif';
        img.alt = 'Archivo subido correctamente';
        img.width = '20';
        img.height = '20';
        
        p.appendChild(img);
        
        var aFile = document.createElement('a');
        
        aFile.href= 'archivos/' + file;
        aFile.innerHTML = file; 
        
        p.appendChild(aFile);
        
        var text = document.createTextNode(' - ');
        
        p.appendChild(text);
        
        var aDeleteFile    = document.createElement('a');
        
        aDeleteFile.href = 'delete.php?id=' + id + '&file=' + file;        
        aDeleteFile.target = 'iframeUpload';
        aDeleteFile.innerHTML = 'Eliminar';
        
        p.appendChild(aDeleteFile);
        
        var div = document.getElementById('inputFile');
        
        div.replaceChild(p,document.getElementById('p' + id));
    } 
    else if(status == 1) {
        var nAttachment = document.getElementById('nAttachment').value;
        var img = document.getElementById(nAttachment);
        
        var msg = alert('Error! - El Archivo no llego al servdor');
        img.src = 'images/error.gif';
        img.alt = 'El Archivo no llego al servdor';
        img.width = '20';
        img.height = '20';
    }
    else if(status == 2) {
        var nAttachment = document.getElementById('nAttachment').value;
        var img = document.getElementById(nAttachment);

        var msg = alert('Error! - No se pudo copiar Archivo. Posible problema de permisos en server');
        img.src = 'images/error.gif';
        img.alt = 'No se pudo copiar Archivo. Posible problema de permisos en server';
        img.width = '20';
        img.height = '20';
    }
}

function deleteResult(nFile) {
    var div = document.getElementById('inputFile');
    var p = document.getElementById('p' + nFile);
    
    div.removeChild(p);
}
al correrlo y llamar a deleteResult me tira error (firebug) en la linea

div.removeChild(p);

y el error que tira es

uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.removeChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://localhost/upload/dinamicAttachment.js :: deleteResult :: line 111" data: no]

Bueno eso agradeceria cualquier tipo de ayuda.

Saludos y feliz 2008!
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!