Показать сообщение отдельно
  #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) при сохранении уходит штатно, сохраняется, и подгружается, если поле видно
Ответить с цитированием