1

HTML5 コードを使用すると、onsuccess イベントがトリガーされてもデータベースから削除できません。私の削除コードは次のとおりです。

btnDelete.addEventListener("click", function(){
        //alert("At Delete function");
        var AadharNumber = document.getElementById("AadharNumber").value;
        var transaction = db.transaction("CustDetails",IDBTransaction.READ_WRITE);
        var objectStore = transaction.objectStore("CustDetails");
        var request = objectStore.delete(AadharNumber);
        request.onsuccess = function(event){
            alert( "Aadhar Number: "+ AadharNumber + " deleted from the database");
        };

    },false);

次に、削除後に印刷ボタンをクリックすると、同じレコードが表示されます。以下は私の印刷機能です。

btnPrint.addEventListener("click", function () {
                    var output = document.getElementById("printOutput");
                    output.textContent = "";
                    var transaction = db.transaction("CustDetails", IDBTransaction.READ_WRITE);
                    var objectStore = transaction.objectStore("CustDetails");

                    var request = objectStore.openCursor();
                    request.onsuccess = function(event) {  
                        var cursor = event.target.result;  
                        if (cursor) {  
                            output.textContent += "<li>""Aadhar Number: " + cursor.key + " is " + cursor.value.name + "</li>";
                            cursor.continue();  

                        }  
                        else {  
                            console.log("No more entries!");  
                        }  
                    };  
                }, false); 

私のhtmlコードは以下の通りです:

<body><center>
<div id="container">
    <label for="txtName">
    Name:
    </label>
    <input type="text" id="txtName" name="txtName" />
    <br />
    <label for="txtEmail">
    Email:
    </label>
    <input type="text" id="txtEmail" name="txtEmail" />
    <br />
    <input type="button" id="btnAdd" value="Add Record" />
    <br />
    <label for="AadharNumber">
    ID:
    </label>
    <input type="text" id="AadharNumber" name="txtAadharNumber" />
    <input type="button" id="btnDelete" value="Delete Record" />
    <br />
    <input type="button" id="btnPrint" value="Print Records" />
    <br />
    <output id="printOutput" > </output>
</div>  
</center>
</body>

削除の何が問題になっていますか? ありがとう。

4

1 に答える 1

2

コードは問題ないように見えますが、文字列キーを整数値に変換すると、オブジェクト ストアからオブジェクトを削除するのに役立つかどうかを確認できます。

var AadharNumber =  parseInt(document.getElementById("AadharNumber").value);
于 2012-10-16T17:13:24.140 に答える