Cześć,
od kilku dni nie mogę poradzić sobie z pewnym problemem. Szukałem pomocy w internecie w różnych miejscach, ale finalnie nic to nie zmieniło. Nie twierdzę, że to przez błędne rozwiązania, a być może po prostu nie umiałem tego poprawnie wykorzystać. W każdym razie zwracam się do Was.
Otóż, przerabiam moją aplikację z JSP na Thymeleafa. Wszystko szło ładnie, pięknie, aż do momentu, gdy dotarłem do eventu w jQuery. Ów event działa następująco:
- w tabeli generowane są wiersze z danymi, a w ostatniej komórce każdego wiersza znajduje się checkbox
- po wybraniu do maksymalnie 3 checkboxów, blokowana jest możliwość zaznaczanie kolejnych
- dodatkowo w nagłówku ostatniej kolumny tabeli następuje zamiana tekstu "Porównaj" na formularz, który przenosi użytkownika do kolejnej akcji w kontrolerze, przesyłając id wybranych wierszy tabeli
I tu jest problem, gdyż ogólnie event się wykonuje i w konsoli, podglądając kod, widać, że przekazuje poprawne id, ale:
- po pierwsze nie przenosi do właściwej akcji, tylko wykonuje się w tym samym miejscu,
- a po drugie przekazuje nulla
Poniżej fragmenty kodu:
- wiersz w html, który ma być zamieniany na formularz:
<th class="th-sticky" style="vertical-align: middle; width: 20vmax" id="th-compare">Porównaj (max. 3)</th>
- fragment odu jquery, odpowiedzialny za wygenerowanie formularza:
const thCompare = $('#th-compare');
thCompare.html('<form th:action="@{/action}" method="post">' +
' <input type="hidden" name="id1" th:field="1">\n' +
' <input type="hidden" name="id2" th:field="2">\n' +
' <input type="hidden" name="id3" th:field="3">\n' +
'</form>');
Będę wdzięczny za sugestie.