2017-02-02 2 views
4

私の問題は次のとおりです: 私が既に持っているテーブルから配列を作成し、配列に格納してから、JSONを使ってlocalStorageに格納しました.stringify:テーブル内の別のページにテーブルデータを表示する

function createArray(){ 
     var arrayPlayerName = []; 
     var count = 1; 
     while(count<=playerNum){ 
      arrayPlayerName.push(document.getElementById('playertable').rows[count].cells[1].innerHTML); 
      count++; 
     } 

     localStorage.setItem("playerNameArray", JSON.stringify("arrayPlayerName")); 
    } 

(playerNumは、他の方法で使用される固定数の変数であり、 "getElementByIdを" は動作)。

このデータを別のHTML文書の別のテーブルに表示したいとします。 だから、次は私のHTMLコードです:

<table class="myTable"> 
    <thead> 
     <tr class="row"> 
      <th colspan="3">Array List</th> 
     </tr> 
    </thead> 
</table> 

そして、これはスクリプトです:

var storedPlayerArray = JSON.parse(localStorage.getItem("playerNameArray")); 

    tablegenerate (storedPlayerArray); 

    function tablegenerate (list) { 
     for(i=0; i<playerNum;i++){ 
      var $formrow = '<tr><td>'+list[i]+'</td></tr>'; 
      $('.myTable').append($formrow); 
     } 
    } 

私は私が間違ってやっていることを確認していない..事前に感謝します。

EDIT:ボタンを使用してcreateArray関数を呼び出しています。別のボタンを使用して2番目のページに移動します。 2ページ目は直接ロードする必要があります。

EDIT2:2番目のページに配列が保存され、正しく呼び出されていることを改訂しました。この問題は現在、「tablegenerate」関数上にあります。あなたは、文字列の代わりに、アレイ上JSON.stringifyを実行している..あなたは、あなたのcreateArray機能で問題が発生した

var storedPlayerArray = JSON.parse(localStorage.getItem("playerNameArray")); 

function tablegenerate (list) { 
    for(var i=0; i<list.length;i++){ 
     var $formrow = $('<tr><td>'+list[i]+'</td></tr>'); 
     $('.myTable').append($formrow); 
    } 
} 
$(document).ready(function(){ 
    tablegenerate (storedPlayerArray); 
}) 


:私は問題はこれを試して見つけたと思う

答えて

1

EDIT

あなたは保存したい。これに

localStorage.setItem("playerNameArray", JSON.stringify("arrayPlayerName")); 

:この

変更

localStorage.setItem("playerNameArray", JSON.stringify(arrayPlayerName)); 
+0

うわーあなたは正しいが...ちょうど今のことを変更しました。しかし、テーブルはまだ2番目のページに表示されていません:( –

+0

私は今、エラーを取得しています "ヌルのプロパティを追加できません" –

+0

私は問題を理解するためにいくつかのコードを見る必要があります。プレイヤーテーブルのHTMLを追加してもらえますか?それ以外のコードはあなたが信じているかもしれません。 –

関連する問題