Hola amigos, estoy creando un script para enviar los elementos a borrar de una base de datos a una página php, pero seleccionando y deselecionando con javascript. El código funciona bien, pero cuando trato de borrar un elemento del array (deseleccionando un mensaje) en la línea
delete mensajesp[i]; me borra dos registros, o eso parece, con el for.
Si seleccionas dos registros va bien. Si a esos dos registros le quitas uno, en vez de aparecer el que queda, no aparece ninguno.
Agradezco cualquier ayuda.
Un saludo.
Código PHP:
var mensajesp=new Array();
function seleccionaMensajePrivadoParaBorrar(id) {
donde=document.getElementById("aseleccion"+id);
if(donde.value==0) {
total=document.getElementById("cuantosMensajesSeleccionados");
ese=Number(total.value)+1;
mensajesp[ese]=id;
total.value=ese;
donde.value=1;
document.getElementById("selecsionostia"+id).style.backgroundColor="yellow";
} else {
total=document.getElementById("cuantosMensajesSeleccionados");
for(i=1;i<=total.value;i++) {
if(mensajesp[i]==id){
delete mensajesp[i];
}
}
document.getElementById("selecsionostia"+id).style.backgroundColor="";
total.value=Number(total.value)-1;
donde.value=0;
}
}
function borrarMensajesSeleccionados() {
total=document.getElementById("cuantosMensajesSeleccionados");
if (total.value==0) { alert('No hay mensajes seleccionados'); } else {
var todostoditos="";
for(i=1;i<=total.value;i++) {
if(mensajesp[i]) { todostoditos+=mensajesp[i]+","; }
}
var user=top.document.getElementById("nombreUsuario").value;
}
}
He puesto el highlight en php porque el code no colorea javascript, el cual es una pena.
Espero que alguien me pueda ayudar, gracias y un saludo.