1. 【必須】現状、聞きたいこと
カレンダー機能において、メモの入力欄からメモを「保存する日の日付」、「目標達成の状況」、「一言メモ」などを保存し、日付のクリックによってメモ欄を参照できるようにしたいのですが、現在ローカルストレージにどのような形で保存すれば、日付のクリックをした際に判定できるものになるのかがわからない状態です。
聞きたいこととしては、下の二点になります。よろしくお願いします
1,どのような形でローカルストレージに保存すれば良いのか
2,保存した内容をクリックされた日付とどのように判定するのか
2. 【必須】起きている問題やエラーメッセージ
起きている問題としては、どのような形で保存し、どのようにその保存内容がその日のものなのかを判定すれば良いのか思いつかないというところです。
エラーメッセージ
3. 【必須】ご自身で試されたこと
ローカルストレージにセットする際にオブジェクト-オブジェクトの形にしたものの、メモされる数が不確定な数のためどのように繰り返しの指揮を組めば良いのかわからず終わってしまいました。
4. 関連するソースコードやスクリーンショット
html
1<div id="noteZone" class="look"> 2 <span id="close">×</span> 3 <h2 class="titleSmall">日付</h2> 4 <form name="form1"> 5 <input type="date" id="date" name="date" /> 6 </form> 7 <h2 class="titleSmall">目標</h2> 8 <form name="form2"> 9 <input id="radio" class="radio" type="radio" name="achieve" value="達成できた"/> 10 <span class="radioText">達成</span> 11 <input id="radio" class="radio" type="radio" name="achieve" value="達成できていない"/> 12 <span class="radioText">未達成</span><br> 13 </form> 14 <h2 class="titleSmall">メモ</h2> 15 <form class="form3"> 16 <textarea id="textArea" class="note" name="memo" rows="6" cols="50"></textarea> 17 </form> 18 <div class="btnzone"> 19 <button id="keep" type="button">保存</button> 20 </div> 21 </div>
js
1let dayClick = document.querySelectorAll('.dayClick'); 2let noteZone = document.getElementById('noteZone'); 3let makeBtn = document.getElementById('makeBtn'); 4 5//メモ表示用のテキストをクリックでメモを表示する 6if(makeBtn != null) { 7 makeBtn.addEventListener('click', ()=> { 8 let result = noteZone.classList.contains('nolook'); 9 10 if(result === true) { 11 noteZone.classList.remove('nolook'); 12 } else { 13 noteZone.classList.add('nolook'); 14 } 15 }) 16} 17 18//------------------メモ内の動作------------------------------------------------------------- 19 20let close = document.getElementById('close'); 21 22//バツマークをクリックでメモを閉じる 23if(close != null) { 24 close.addEventListener('click', ()=> { 25 noteZone.classList.add('nolook'); 26 }) 27}; 28 29//入力欄のvalueを取得する 30let keep = document.getElementById('keep'); 31 32let dataList = {}; 33 34//入力されたvalueを保存ボタンのkクリックでローカルストレージに保存する 35if(keep != null) { 36 keep.addEventListener('click', ()=> { 37 keepData(); 38 }) 39}; 40 41function keepData() { 42 43 let noteDate = document.getElementById('date').value; 44 let textArea = document.getElementById('textArea').value; 45 let radio = document.getElementsByName('achieve'); 46 let checkValue = ''; 47 48 for(let r = 0; r < radio.length; r++) { 49 if(radio[r].checked) { 50 checkValue = radio[r].value; 51 } 52 } 53 54 //それぞれのデータの取得 55 console.log(noteDate); //日付 56 console.log(checkValue); //目標達成の有無 57 console.log(textArea); //メモ欄の文字列 58 59 dataList.key1 = {data1: noteDate, data2: checkValue, data3: textArea}; 60 61 console.log(dataList); 62 63}; 64 65keepData();
5. 使用言語・ライブラリのバージョン
javascript,html,css
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。