質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

807閲覧

jsカレンダー機能において日付のクリックでメモ欄の参照をするためのローカルストレージへの保存方法

zuru17830405

総合スコア11

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2021/12/30 06:15

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

日付をキーにすればいいのではないかな、と思いました。

投稿2022/01/04 05:35

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問