我正在使用Thymeleaf和Spring MVC进行项目,我在Thymeleaf中显示一个列表,我想获取所选项目并在我按提交时传递它们
这是我的表格:
<form th:action="@{/trip-info}" th:object="${trip}" method="post">
....
<a class="list-group-item list-group-item-action" th:each="currentPerson : ${trip.employees}" th:text="${currentPerson.getFirstName() + ' ' + currentPerson.getLastName()}" onclick="addPerson(this)"></a>
</form>
我的页面中显示了员工列表,现在我不确定是否可以将所选值传递给控制器,或者是否必须使用javascript并构建正文。有没有人有任何想法?
谢谢!
答案 0 :(得分:0)
转移所选的表单项不属于“Thymeleaf”的角色。 'Thymeleaf'是一个服务器端模板引擎,只需在html中创建代码。 客户端更改的事件(项目选择)必须由JavaScript处理。
举个简单的例子, 在从表单提交之前,请在javascript中检查所选项目并创建执行提交的功能。
如果您需要一个示例,请更详细地向我展示您的源代码。
有两种方法。 1.“标签”如何直接告诉您有关您的活动的信息? 2.如何外部利用'标签'的事件
我想要'2'方法,你选择'1'方法。 在执行'onclick'事件之前,您的源将被移动href终止。
看看这个例子。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="http://www.stackoverflow.com" onclick="someEvent(this)">some method</a><br/>
<a href="http://www.stackoverflow.com" target="_blank" onclick="someEvent(this)">some method2</a><br/>
<a href="javascript:void(0)" target="_blank" onclick="someEvent(this)">some method3</a><br/>
<script>
function someEvent(event){
console.log(event);
}
</script>
</body>
</html>
'href'有效,但由void(0)无效。或者按目标移动到另一个窗口选项卡。然后onclick按顺序发生。
我不会说英语,解释也不成熟。对不起。