一尘不染

在Thymeleaf中使用onClick时如何将参数传递给javascript函数调用

spring-boot

我一直在从Thymeleaf调用我的javascript函数,如下所示:

th:onclick="'viewDocument(\'' + ${document.docTypeLongDesc} +'\');'"

但是我刚刚将Spring Boot版本更新为2.1.4 RELEASE,Thymeleaf也通过该版本进行了更新。并且不再支持以前的版本。

在进一步研究中,我发现我应该可以使用

th:onclick="' viewDocument (this.getAttribute ('document.docTypeLongDesc'));'"

但是,它不会给出任何错误,但也不会起作用。我删除了参数,并能够很好地调用该函数。所以我想我没有正确地传递论点。任何指导都会有所帮助。TIA。


阅读 3012

收藏
2020-05-30

共1个答案

一尘不染

请参见:受限模式:避免变量表达式返回处理器中用于事件处理程序(th:on
*)的字符串

为了正确地将Thymeleaf变量传递给onclick事件,请将变量放在data属性中,然后使用读取它getAttribute()

th:data-longDescription="${document.docTypeLongDesc}" onclick="viewDocument(this.getAttribute('data-longDescription'));"
2020-05-30