Thymeleaf th: onclick событие - вызов функции подтверждения - PullRequest
0 голосов
/ 30 января 2020

Я новичок в Thymeleaf. Недавно я наткнулся на следующую ситуацию. Вот часть моей страницы Thymeleaf html:

<!-- an delete button link -->
<a th:href="@{/employees/delete(employeeId=${tempEmployee.emplId},firstName=${tempEmployee.firstName},lastName=${tempEmployee.lastName})}"
    class="btn btn-danger btn-sm py-1 "
    th:onclick="if(!(confirm('Are you sure you want to delete this employee ?') )) return false" >
    Delete
</a>

Этот код работает нормально, как и предполагалось. Однако я хочу добавить имя сотрудника как часть подтверждения. Вот код:

<!-- an delete button link -->
<a th:href="@{/employees/delete(employeeId=${tempEmployee.emplId},firstName=${tempEmployee.firstName},lastName=${tempEmployee.lastName})}"
    class="btn btn-danger btn-sm py-1 "
    th:onclick="if(!(confirm('Are you sure you want to delete this employee ' + '\'+${tempEmployee.firstName}+\'' +'?' ) )) return false" >
    Delete
</a>

К сожалению, результат таков: Are you sure you want to delete this employee '+${tempEmployee.firstName}+'.

Похоже, что Thymeleaf не распознает $ {tempEmployee.firstName}. У него нет проблем с тегом th: href, но он не нравится с тегом th: onclick.

Буду признателен, если кто-нибудь сможет повернуть меня в правильном направлении.

1 Ответ

1 голос
/ 30 января 2020

Не знаю точно, в чем проблема (хотя это может быть связано с onclick против th:onclick. Несмотря на это, я думаю, что формат, подобный этому, будет работать (с некоторыми дополнительными преимуществами, такими как JavaScript инъекция).

<!-- an delete button link -->
<a
  th:href="@{/employees/delete(employeeId=${tempEmployee.emplId},firstName=${tempEmployee.firstName},lastName=${tempEmployee.lastName})}"
  class="btn btn-danger btn-sm py-1 "
  th:data-confirm-delete="|Are you sure you want to delete this employee ${tempEmployee.firstName}?|"
  onclick="if (!confirm(this.getAttribute('data-confirm-delete'))) return false"
>
  Delete
</a>

(обратите внимание, я использую onlick, а не th:onclick.

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