0

カーソルを使用して、indexedDB 内のすべてのオブジェクトを表示しています。私の課題では、ページの起動時に管理者アカウントを作成する必要があります。この管理者アカウントを継続的に作成しないように、localStorage API を使用して、アカウントが作成されたことを記録しました。新しいユーザーが作成されて表示されると、名前の横に削除ボタンが追加されます。

管理者アカウントが削除される場合、管理者キーの localStorage を変更する関数、関数 adminRemoved() を起動しようとしています。しかし、どうすればそのイベントをキャプチャできるかわかりません。

これは、DB 内のすべてのユーザーのリストを表示する関数です。

function showUserList(e){
    //var result = e.target.result;
    //databox.innerHTML = '<div>' + result.id + ' - ' + result.name + ' - ' + result.date + '</div>';
    var cursor = e.target.result; // Capture multiple return values as a cursor
    // Modify the databox to show the results 
    if (cursor){        
        databox.innerHTML += '<div>' + 
        cursor.value.userName + ' - ' + 
        cursor.value.fn+ ' - ' + 
        cursor.value.ln+ ' - '+ 
        cursor.value.pw+ ' - '+ 
        cursor.value.em+ ' - '+ 
        cursor.value.dob+ ' - '+
        cursor.value.tel+ ' - '+ 
        cursor.value.bio+ ' - '+ 
        cursor.value.tm+ ' - '+
        cursor.value.scl+' - '+
        cursor.value.gender+ 
        ' <input type="button" onclick="removeobject(\'' + cursor.value.userName + '\')" value="remove"/></div>';
            // Add a remove button as inserted HTML
        cursor.continue(); // Iterates over the cursor
    }
}

管理者アカウントが削除されたときにこの関数を実行したい:

function adminRemoved(){
    var admin ='admin';
    var status = 'removed';
    newItem(admin,status);
}
4

1 に答える 1

0

関数の名前が一致しません。onclick では「removeobject」と呼ばれ、関数名は「adminRemoved」です。同じ名前を付けて、ボタンの onclick イベントの関数の前に「javascript:」を付けます。これはうまくいくはずです。

これを行うには、jQuery などのライブラリを使用してコントロールを作成する方が簡単かもしれません。イベントの添付が容易になります。

于 2013-03-22T07:41:36.953 に答える