前提・実現したいこと
制作順序に合わせてページをまたいで作っていくWeb上でのポスター作成ツールを開発しています。
発生している問題
しかし現在、ページをまたいだ時、次のページに前のページで挿入したテキストを表示させることができず困っています。下記のコードのjsのsessionStorageの部分で、id = a, id = b, id = cでinputしたテキストを保存し、次のページで表示したいです。
エラーメッセージ
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>poster-input-text</title> <link rel="stylesheet" href="/css/style.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> <script src = "/send_url.js"></script> </head> <body> <header> <div class="container"> <div class="header-left"> </div> <div class="header-right"> <div id="humMenu"> <input id="humCheck" type="checkbox"> <label id="humOpen" for="humCheck"><span class = "fa fa-bars fa-2x"></span></label> <label id="humClose" for="humCheck"></label> <nav> <ul class="inner"> <li><a href="/">TOP</a></li> <li><a href="#">みる</a></li> <li><a href="#">・</a></li> <li><a href="#">・</a></li> <li><a href="#">・</a></li> </ul> </nav> </div> </div> </div> </header> <div class="action-wrapper" id="flex"> <div id="sidebar"> <aside> <h3>制作順序</h3> <ul> <li>1.モデル選択</li> <li>2.テキスト挿入</li> <li>3.テキストの彩色</li> <li>4.画像挿入&保存</li> <li>5.お疲れ様でした</li> </ul> </aside> </div> <div class="container" id="board"> <div class="heading"> <h2>テキストを挿入しよう。</h2> </div> <div class="input-image"> <div class="stuff"> <div class="textBox"> <input class="text" id = "a" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> <input class="text" id = "b" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> <input class="text" id = "c" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> </div> </div> <canvas id="rectangle" width="700" height="550"></canvas> <script type="text/javascript"> //読み込み時に実行する onload = function() { /* 四角を描く */ var rect_canvas = document.getElementById("rectangle"); var rect_ctx = rect_canvas.getContext("2d"); var rect_up = rect_canvas.getContext("2d"); var rect_down = rect_canvas.getContext("2d"); rect_ctx.beginPath(); rect_up.beginPath(); rect_down.beginPath(); // 四角を描く(A4サイズ) rect_ctx.strokeRect(20, 20, 584.5, 413.5); rect_up.fillRect(60, 163, 500, 15); rect_down.fillRect(60, 288, 500, 15); } </script> <script type="text/javascript"> var scanvas = sessionStorage.getItem("save_canvas"); scanvas = JSON.parse(scanvas); console.log(scanvas) </script> </div> <div class="next"> <input type="button" onclick="history.back()" value="戻る"> <input type="button" onclick="location.href='./poster-color'" value="次へ"> </div> </div> </div> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>poster-color</title> <link rel="stylesheet" href="/css/style.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"> <script src = "/send_url.js"></script> </head> <body> <header> <div class="container"> <div class="header-left"> </div> <div class="header-right"> <div id="humMenu"> <input id="humCheck" type="checkbox"> <label id="humOpen" for="humCheck"><span class = "fa fa-bars fa-2x"></span></label> <label id="humClose" for="humCheck"></label> <nav> <ul class="inner"> <li><a href="/">TOP</a></li> <li><a href="#">みる</a></li> <li><a href="#">・</a></li> <li><a href="#">・</a></li> <li><a href="#">・</a></li> </ul> </nav> </div> </div> </div> </header> <div class="action-wrapper" id="flex"> <div id="sidebar"> <aside> <h3>制作順序</h3> <ul> <li>1.モデル選択</li> <li>2.テキスト挿入</li> <li>3.テキストの彩色</li> <li>4.画像挿入&保存</li> <li>5.お疲れ様でした</li> </ul> </aside> </div> <div class="container" id="board"> <div class="heading"> <h2>テキストに色をつけよう。</h2> </div> <div class="input-image"> <div class="stuff"> <div class="textBox"> <input class="text" id = "a" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> <input class="text" id = "b" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> <input class="text" id = "c" type="textbox" onkeyup="this.setAttribute('value', this.value);" value=""/> </div> </div> <canvas id="rectangle" width="700" height="550"></canvas> <script type="text/javascript"> //読み込み時に実行する onload = function() { /* 四角を描く */ var rect_canvas = document.getElementById("rectangle"); var rect_ctx = rect_canvas.getContext("2d"); var rect_up = rect_canvas.getContext("2d"); var rect_down = rect_canvas.getContext("2d"); rect_ctx.beginPath(); rect_up.beginPath(); rect_down.beginPath(); // 四角を描く(A4サイズ) rect_ctx.strokeRect(20, 20, 584.5, 413.5); rect_up.fillRect(60, 163, 500, 15); rect_down.fillRect(60, 288, 500, 15); } </script> </div> <div class="next"> <input type="button" onclick="history.back()" value="戻る"> <input type="button" onclick="location.href='./poster-input-image'" value="次へ"> </div> </div> </div> </body> </html>
試したこと
sessionStorageに関するサイトを読みあさり、試してみましたが、解決することができませんでした。
言語など
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/19 10:47
2021/12/19 10:54
2021/12/19 12:13
2021/12/19 14:41
2021/12/20 08:28
2021/12/20 13:40
2021/12/20 14:06
2022/01/07 02:06