У меня есть HTML-таблица с th: каждый, каждый элемент имеет форму th: method = "delete" работает, все еще не может удалить первый - PullRequest
0 голосов
/ 28 июня 2019

Я получил приложение SpringBoot с HTML, Thymeleaf и mySQL. Есть страница с <table> адресами доставки о клиенте, который вошел в систему с th:each, и <td> с <form method="delete">. Форма работает с каждым элементом, кроме первого.

HTML + Thymeleaf:

<form th:action="@{/profile}" method="get">
        <table>
            <thead>
            <tr>
                ...
            </tr>
            </thead>
            <tr th:each="cusDetails : ${details}" th:object="${cusDetails}">
                <td><span th:text="*{getPostCode()}"></span></td>
                ...
                <td>
                    <form th:action="@{/confirmDelete}" th:method="delete">
                        <input type="hidden" th:attr="name='id'" th:value="${cusDetails.id}">
                        <button type="submit">DELETE</button>
                    </form>
                </td>
            </tr>
            </tbody>
        </table>
    </form>

Контроллеры:

@GetMapping("/profile")
  public String getProfilePage(Model model, HttpSession session) {
      model.addAttribute("details", cusDetailsService.findAllByCus_Id(cusService.getCusSessionId(session)));
      return "profile";
  }

@DeleteMapping("/confirmDelete")
  public String confirmDelete(@RequestParam long id) {
    cusDetailsService.deleteDetailsById(id);
    return "redirect:/profile";
  }

Поэтому, когда я нажимаю кнопку удаления, адрес доставки рядом с ней исчезает, все работает нормально. Но когда я нажимаю на самый первый, это не так. Страница отображается без каких-либо вариантов доставки. Когда я добавляю первое, оно появляется, но после этого я не могу удалить его. Я могу удалить все остальные, кроме первого. Также при нажатии на кнопку удаления для первого элемента он добавляет дополнительный путь к html /profile, например: /profile?_method=delete&id=1, и больше ничего не происходит.

Очевидно, что есть возможность добавлять новые элементы в список, но это не имеет значения, поэтому я не включил. Если кто-то думает иначе, я обновлю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...