Проблемы с IndexedDB API для удаления объектов - PullRequest
0 голосов
/ 03 сентября 2018

Я новичок во всем этом программировании, и я работаю с API IndexedDB. Я давно анализирую свой код и не могу найти ошибку перед рукой, спасибо за помощь. Проблема в том, что следующая кнопка для удаления каждого из объектов (которые вызываются здесь, но являются более или менее записью) не работает. Я провел несколько тестов, и ничто, по-видимому, не исключает функцию исключения, но здесь данные не удаляются. оставь код. Извините за написание был переведен Google.

 var bd;
function iniciar(){

    zonadatos=document.getElementById("zonadatos");

    boton=document.getElementById("grabar");


    boton.addEventListener("click",agragarobjeto, false);

    var solicitud=indexedDB.open("mibase6");

    solicitud.onsuccess=function(e){

        bd=e.target.result;

    eliminartodo(); 

    }

    solicitud.onupgradeneeded=function(e){

                bd=e.target.result;
        bd.createObjectStore("gente", {keyPath: "iden", autoIncrement:true});

    }   


}

function agragarobjeto(){

    var clave=document.getElementById("clave").value;

    var titulo=document.getElementById("texto").value;

    var Fecha=document.getElementById("fecha").value;

    var transaccion=bd.transaction(["gente"], "readwrite");

    var almacen=transaccion.objectStore("gente");

    var agregar=almacen.add({clave: clave, titulo: titulo, Fecha: Fecha});

    agregar.addEventListener("success", mostrar, false);


    document.getElementById("clave").value=""

    document.getElementById("texto").value=""

    document.getElementById("fecha").value=""
}

function mostrar(){

    zonadatos.innerHTML="";

    var transaccion=bd.transaction(["gente"],"readonly");

    var almacen=transaccion.objectStore("gente");

    var cursor=almacen.openCursor();

    cursor.addEventListener("success", mostrarDatos, false);    


}

function mostrarDatos(e){

    var cursor=e.target.result;

    if(cursor){

        zonadatos.innerHTML+='<p> <input type="number" style="width:60px" name="codigo" required="" id="codigo"  value="' + cursor.value.clave + '" disabled> <input type="number" name="cfija" style="width:60px" required="" id="cfija" value="' + cursor.value.titulo + '" disabled> <input type="number" name="cfija" style="width:60px" required="" id="cvariable" value="' + cursor.value.Fecha + '" disabled> <button style="width:60px" type="button" onclick="eliminar(\'' +cursor.value.iden+ '\')">Eliminar</button>  </p>' ;

        cursor.continue();

        hola.innerHTML+="hola";
    }



}

function eliminar(valor){
    var transaccion=bd.transaction(["gente"], "readwrite");
    var almacen=transaccion.objectStore("gente");
    var solicitud=almacen.delete(valor);
    solicitud.addEventListener('success', mostrar, false);
    solicitud.addEventListener('error', errores, false);
    hola.innerHTML+=valor;
}

function eliminartodo(){
    var transaccion=bd.transaction(["gente"], "readwrite");
    var almacen=transaccion.objectStore("gente");
    var solicitud=almacen.clear();

}

function errores(){
alert("Error:");
}


window.addEventListener("load", iniciar, false);
...