2016-08-02 6 views
0

私は2つのWebページを持っています。 1つはイベントを作成し、もう1つはイベントのカレンダーを呼び出したものです。 「イベントの作成」では、ユーザーの入力を許可するためにフォームが使用されます。入力は、次の機能をローカルストレージに保存されている:複数の入力を格納するように作成された唯一のイベントが存在することができないのでローカルストレージから配列内のオブジェクトの値を取得する

document.addEventListener("DOMContentLoaded", docIsReady); 
var CreateEvent; 

function docIsReady() { 
    CreateEvent = localStorage.getItem("CreateEvent"); 
    if (CreateEvent == null) { 
     CreateEvent = []; 
    } else { 
     CreateEvent = JSON.parse(CreateEvent); 
    } 
} 

function saveToStorage() { 
    var one; 
    var nameofevent = document.getElementById("name").value; 
    var pList = document.getElementsByName("pos"); 
    var positions = []; 
    for (i = 0; i < pList.length; i++) { 
     positions.push(pList[i].value); 
     console.log(pList[i].value); 
    } 
    //for (i=0; i<positions.length; i++){ 
    //console.log(positions[i].value); 
    //} 
    var venue = document.getElementById("venue").value; 
    var date = document.getElementById("date").value; 
    var starttime = document.getElementById("timeStart").value; 
    var endtime = document.getElementById("timeEnd").value; 
    var contact = document.getElementById("contact").value; 
    var email = document.getElementById("email").value; 
    var desc = document.getElementById("desc").value; 
    one = { 
     "name": nameofevent, 
     "pos": positions, 
     "venue": venue, 
     "date": date, 
     "timeStart": starttime, 
     "timeEnd": endtime, 
     "contact": contact, 
     "email": email, 
     "desc": desc 
    }; 
    CreateEvent.push(one); 
    localStorage.setItem("CreateEvent", JSON.stringify(CreateEvent)); 
    return false; 
} 

IはでCreateEventに配列しました。今、イベントのカレンダーの表にイベントのNAMEを表示する必要があります。カレンダーとして、イベントは月ごとにソートされます。しかし、私はどのように配列に格納されているオブジェクトの "日付"と "名前"の値にアクセスするのか分からない。オブジェクトの値を取得するにはどうすればよいですか?

答えて

0

あなたはへのインデックス[]を使用して配列:その後、

var entry = CreateEvent[0]; // 0 = the first entry 

...と、そのオブジェクトのプロパティを使用します。

console.log(entry.name); 

サイドノート:あなたは自由ですあなた自身のコードで好きなことをするには、FWIW CreateEventがこの配列の珍しい名前です:1.大文字のwher JavaScriptのeasは、データ変数が小文字で始まるという圧倒的な慣習です。 2.動詞句(「イベントを作成」)ですが、その値は名詞(イベントの配列)です。一般的に、リストと配列の名前は、その中に含まれているものの名​​前、例えば、listまたはarrayのように、複数形または接尾辞付きで名前が付けられます。この場合、eventsまたはeventListまたはeventArrayが標準です。

+0

ありがとうございます!しかし、forループを使ってすべてのエントリを調べる方法はありますか? – Tan

+0

はい、[他にもたくさんの方法があります](http://stackoverflow.com/questions/9329446/for-each-over-an-array-in-javascript/9329476#9329476)。 –

関連する問題