前提と実現したいこと
WEBをリロードするとき、Localstorageに保存されているデーターを自動的にHTMLに入れたいです。
問題と試してみたこと
- 下記コード内に「DisplayOutcomes ()」というfunctionを作りました。こうしたら、localstorageからHTMLにデーターを入れることができました。
- しかし、下図内の検索ボダンをクリックしないと、「DisplayOutcomes ()」が効かないです。
- 僕が実現したいのは、WEBをリロードするとき、Localstorageに保存されているデーターを自動的にHTMLに入れたいです。
- 「function DisplayOutcomes ()」を「window.addEventListener('load', () => {})」に入れてみましたが、効かないです。
どこに問題があるでしょうか?教えて頂きたくお願い致します。
該当のソースコード
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="style.css" /> </head> <body> <?php include('./user_list.php') ?> <!-- 👇情報登録form --> <form action="./insert.php" method="post" enctype="multipart/form-data"> ID:<input type="text" name="idd"><br> Name:<input type="text" name="user_name"><br> <input type="submit" value="記入"> </form> <!-- 👇檢索form --> <form action="" id="search" method="post" enctype="multipart/form-data"> ID:<input type="text" name="ss" id="ss"><br> <input type="submit" name="submit" value="検索"> </form> <?php // 👇issetを利用して、form内の情報を送ったかを確認する if(isset($_POST['ss'])){ $search = $_POST['ss']; $sql2 = "SELECT * FROM user_list WHERE id = '$search' "; $sth2 = $db -> prepare($sql2); $sth2 -> execute(); $data2 = $sth2->fetch(); $sql10 = "SELECT * FROM `user_list` WHERE ID in ('$search')"; $sth10 = $db -> prepare($sql10); $sth10 -> execute(); $data10 = $sth10->fetchall(); if(empty($_POST['ss'])){ echo '<script> alert("記入してください") </script>'; }else{ if($data10 == null){ echo '<script> alert("まだ登録されていないよ!!!") </script>'; }else{ $ID = $data2["ID"]; $member_name = $data2["member_name"]; } } // header("Location:./form.php"); // exit(); } ?> <section class="search_outcome"> <div class="title"> <div class="col_ID"> <input type="text" value="ID" readonly> </div> <div class="col_name"> <input type="text" value="NAME" readonly> </div> </div> <div class="list_for_all" id="list_for_all"></div> </section> <script> // 👇form的IDを探す LIST_Storage = JSON.parse(localStorage.getItem('LIST_Storage')) || []; const search = document.querySelector('#search'); const outcome_list = { ID_list:'<?= $ID ?>', Member_list:'<?= $member_name ?>'} LIST_Storage.push(outcome_list); localStorage.setItem('LIST_Storage', JSON.stringify(LIST_Storage)); DisplayOutcomes() function DisplayOutcomes () { const outcomeList = document.querySelector('#list_for_all'); outcomeList.innerHTML = ""; LIST_Storage.forEach(outcome_list => { const outcome_one_div = document.createElement('div'); const col_ID = document.createElement('div'); const col_NAME = document.createElement('div'); const col_btn = document.createElement('div'); const revise = document.createElement('button'); const delete_btn = document.createElement('button'); outcome_one_div.classList.add('list_for_one'); col_ID.classList.add('col_ID'); col_NAME.classList.add('col_name'); col_btn.classList.add('col_btn'); revise.classList.add('revise'); delete_btn.classList.add('delete'); col_ID.innerHTML = `<input type="text" value="${outcome_list.ID_list}" readonly>`; col_NAME.innerHTML = `<input type="text" value="${outcome_list.Member_list}" readonly>`; revise.innerHTML = '修正'; delete_btn.innerHTML = '削除'; col_btn.appendChild(revise); col_btn.appendChild(delete_btn); outcome_one_div.appendChild(col_ID); outcome_one_div.appendChild(col_NAME); outcome_one_div.appendChild(col_btn); outcomeList.appendChild(outcome_one_div); console.log(outcomeList); delete_btn.addEventListener('click', (e) => { LIST_Storage = LIST_Storage.filter(LIST_Storage => LIST_Storage != outcome_list); localStorage.setItem('LIST_Storage', JSON.stringify(LIST_Storage)); DisplayOutcomes() }) }) } </script> </body> </html>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。