Добавить переменную внутрь ths: onsubmit тимелист - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь добавить переменную внутри th: onsubmit с помощью

th:onsubmit="return confirm('Hi '" + ${user.name} +  "')"

, но это всегда приводит к ошибке, такой как

Неправильная разметка: атрибут "+" появляется более чем однажды в элементе

также я не могу найти пример отправки в официальном документе тимелина

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

В onsubmit нет ничего особенного, поэтому в официальной документации об этом ничего нет - вы просто неправильно форматируете выражение. Я бы отформатировал выражения следующим образом:

th:data-username="${user.name}"
onsubmit="return confirm('Hi ' + this.getAttribute('data-username'))"

(Чтобы избежать ошибок безопасности, Thymeleaf может запретить вам объединять строки непосредственно в JavaScript, поэтому я выделяю его для его собственного атрибута .)

0 голосов
/ 04 мая 2020

Вы можете использовать функцию в своем событии onsubmit и назначить выражение Thymeleaf переменной в этой функции.

Пример (используя onclick в моем случае):

<yourtag ... onclick="runMyFunction();"></yourtag>

...

<script th:inline="javascript">
    function runMyFunction() {
        var user_name = [[${user.name}]];
        console.log(user_name);
    }
</script>

При этом используется JavaScript встроенный синтаксис Thymeleaf [[${...}]].

Обратите внимание, что в этом случае событие не обязательно должно быть th:onsubmit - просто onsubmit.

...