0

我希望 showAll 按钮单击应该打开另一个页面,并在那里执行 showAll 函数,以便将结果打印在新页面上。其次,我如何将 console.log 语句修改为其他语句,以便在此打印结果(新)页面而不是控制台。

HTML

<ul class="nav">
    <li id="add" ><p>Add</p></li>
    <li id="show"><p>Show</p></li>
    <li id="showAll"><p>Show All</p></li>

</ul>

JS文件

$(document).ready(function(){

   function showAll()
    {
        var objectStore = db.transaction(storeName).objectStore(storeName);

        objectStore.openCursor().onsuccess = function(event)
        {
            var cursor = event.target.result;
            if (cursor) 
            {
            console.log(" Post: " + cursor.value.post);
                cursor.continue();
            }
            else
            {
                alert("No more entries!");
            }
        };

    }


          $("#showAll").click(function()
      {

            console.log("eventlistner called for showAll...");

            showAll();

      });

});
4

2 回答 2

1

您必须更具体地说明您的意思"the new page"。要在两个不同页面之间传递数据,您可以:

  • 发出 POST/GET 请求以及数据
  • 通过对某些后端脚本的 AJAX 调用将数据存储在会话变量中
  • 将其存储在临时 cookie 中
  • 将 HTML5 与 LocalStorage API 结合使用
于 2013-07-11T11:58:48.983 回答
0

我将做出以下假设:

  • 您设置了一个与原始页面分开的页面。这个页面将被称为 Popup.html
  • 您的原始页面不包含LoadAll() 函数
  • ShowAll() 代码是独立可执行的

将以下代码添加到popup.html文件中

$(document).ready(function(){
    var objectStore = db.transaction(storeName).objectStore(storeName);

    objectStore.openCursor().onsuccess = function(event)
    {
        var cursor = event.target.result;
        if (cursor) 
        {
        console.log(" Post: " + cursor.value.post);
            cursor.continue();
        }
        else
        {
            alert("No more entries!");
        }
    };

}

现在在您的原始页面上,输入以下代码:

$(document).ready(function(){
$("#showAll").click(function()
{
    window.open("popup.html");
};
});
于 2013-07-11T12:22:02.013 回答