Thymeleaf доступ к свойствам элемента DOM - PullRequest
0 голосов
/ 17 июня 2019

Я использую thymeleaf 3 с SpringBoot 2.1.3 проектом веб-приложения.Я хотел бы решить проблему, которая возникает, когда внутри формы значение input type select равно disabled, а выбранные данные не отправляются через POST.

Я хотел бы сделать что-то подобное внутри тимелистстраница:

<select th:field="*{datiSocietariDto.provincia}" id="provincia" th:disabled="disabled">
  <option value="" selected>PROVINCIA</option>
  <option th:each="city : ${tipologicalDto.cities}" th:value="${city.descrizione}" th:text="${city.descrizione}"></option>
</select>

<span th:if=[provincia is disabled]>
  <input type="hidden" th:value=[value of selected option]>
</span>

Я не знаю, как получить информацию в квадратных скобках и возможно ли сделать что-то подобное с помощью thymeleaf.Я мог бы решить эту проблему с помощью JQuery, но на самом деле это не очень элегантное решение.

Можете ли вы мне помочь?

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Большое спасибо за вашу поддержку. У меня было сомнение, что я не могу сделать это с Thymeleaf, но я не хочу создавать JQuery inline elements с выбранными значениями.

Теперь я пытаюсь с простым обходным путем, как это:

$(".submit").click(function(){
  $(this).find(':select').attr('disabled', false); ***
  $('#msform').submit();
});

Это все еще не правильно, он выдает ошибку в строке ***, я ищу правильный синтаксис, чтобы найти все select input внутри моего form и восстановил его непосредственно перед submit form и оценил если это рабочее решение или нет.

В любом случае, еще раз спасибо за вашу быструю и ценную поддержку.

0 голосов
/ 17 июня 2019

Нет способа прочитать отключенное состояние другого тега в Thymeleaf. Ваши варианты:

  1. Использовать только для чтения вместо отключенных. Элементы только для чтения не могут быть отредактированы, но все еще отправляются с сообщением.

  2. Используйте некоторую переменную, например, такую:

    <th:block th:with="disabled=true">
        <select th:field="*{datiSocietariDto.provincia}" id="provincia" th:disabled="${disabled}">
          <option value="" selected>PROVINCIA</option>
          <option th:each="city : ${tipologicalDto.cities}" th:value="${city.descrizione}" th:text="${city.descrizione}"></option>
        </select>
    
        <input th:if="${disabled}" type="hidden" th:field="*{datiSocietariDto.provincia}">
    </th:block>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...