Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.08.2024, 10:13
Новичок на форуме
Отправить личное сообщение для Alex_Lemurski Посмотреть профиль Найти все сообщения от Alex_Lemurski
 
Регистрация: 29.05.2024
Сообщений: 4

HTML Сохранение динамических полей на странице
Пару дней назад сумел настроить отображение нужных динамических полей по выбранному значению из выпадающего списка
Но как сделать так чтобы после обновления страницы (F5) или после ее сохранения (отправки формы на сервер) и снова заходя на эту страницу отображаемое поле по Select не исчезало?

<select class="form-select form-select-sm" name="conditionForPersonal" id="statusIssue" onChange="j()">
                            <option th:each="curCondPers:${currentConditionForPersonal}" id="statusIssueId"
                                    th:value="${curCondPers.pCondId}"
                                    style="font-style: oblique;" th:text="${curCondPers.pConditionName + ' ' + curCondPers.pAnnotation}">
                            <option th:each="condPers:${conditionForPersonal}"
                                    th:value="${condPers.pCondId}"
                                    th:text="${condPers.pConditionName + ' ' + condPers.pAnnotation}">
                        </select><br>
                        <div style="display: none" id="issueDate">
                            <p style="text-align: right">
                                Дата выдачи: <input type="date" th:field="${personalInstrument.issueDate}" id="date5"></p>
                            <p if="${#fields.hasErrors('issueDate')}" th:errors="${personalInstrument.issueDate}"></p>
                            <script th:inline="javascript">
                                const inputDate5 = String([[${currIssueDate}]]);
                                document.getElementById("date5").valueAsDate = new Date(inputDate5);
                            </script>
                        </div>
                        <p><span th:text="${errorStatus}"></span></p>
                        //Вариант №1
                        <script>
                            $('#statusIssue').change(function () {
                                if($('#statusIssue').val() === '8'){
                                    $('#issueDate').css('display', 'block');
                                } else {
                                    $('#issueDate').css('display', 'none');
                                }
                            });
                        </script>
                        //Вариант №2
                        <script>
                            function j() {
                                var status = document.getElementById("statusIssue");
                                var selectStatus = status.options[status.selectedIndex].value;
                                var isStatus8 = selectStatus === "8"
                                var closeDate8 = document.getElementById("issueDate");
                                closeDate8.style.display = isStatus8 ? 'block':'none';
                            }
                        </script>


оба варианта скрипта работают как надо но не обеспечивают отображение полей после обновления страница (F5) или повторного на нее захода, нужно в Select заново выбрать нужное значение чтобы поле отобразилось.
Я пробовал к скрипту №1 приладить cookie но ничего не получилось
Можно ли дополнить один из этих скриптов нужным кодом или как будет выглядеть скрипт который и поля будет подгружать по Select и сохранять их?
вся информ с этих полей на сервер (boot mvc) при сохранении уходит штатно, сохраняется, и подгружается, если поле видно
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2024, 12:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Alex_Lemurski,
https://javascript.ru/forum/events/3...iz-select.html
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2024, 14:27
Новичок на форуме
Отправить личное сообщение для Alex_Lemurski Посмотреть профиль Найти все сообщения от Alex_Lemurski
 
Регистрация: 29.05.2024
Сообщений: 4

у куда смотреть там по этой ссылке? может на это?
<script>
                            (function(){
                                var select = document.querySelector('#statusIssue');
                                if (localStorage.selectedIndex !== undefined) {
                                    select.selectedIndex = localStorage.selectedIndex;}
                                select.onchange = function() {
                                    localStorage.selectedIndex = this.selectedIndex;}
                            })()
                        </script>

посмотрел, попробовал, не работает даже близко, оно должно просто сохранять выбранный селект? и все? но это у меня уже есть, без всяких скриптов
или я по любому должен в localStorage сохранять выбранный селект что бы какой то из двух вариантов скриптов отображающих поля, должен брать что то из localStorage?
или как это устроено?
Ответить с цитированием
  #4 (permalink)  
Старый 18.08.2024, 17:09
Новичок на форуме
Отправить личное сообщение для Alex_Lemurski Посмотреть профиль Найти все сообщения от Alex_Lemurski
 
Регистрация: 29.05.2024
Сообщений: 4

Сообщение от рони Посмотреть сообщение
Alex_Lemurski,
https://javascript.ru/forum/events/3...iz-select.html
ответ на 100% НЕ РАБОЧИЙ
решение нашел сам, LocalStorage тут даром не нужен
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление изображения на странице html ежесекундно! belousov Events/DOM/Window 7 10.10.2017 11:07
Сохранение в html HappyFanik jQuery 2 08.05.2014 01:28
Сохранение данных html, сконфигурированных JS. wayzer Общие вопросы Javascript 1 28.08.2012 20:38
Динамические html элементы sky Элементы интерфейса 2 07.03.2010 11:58
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48