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!