我有一个带有3个单选按钮的表单,当按下某个单选按钮时,我想将单选按钮的值和一个从控制器发送到视图的ID变量发送给控制器。
HTML视图如下:
<form id="form" th:action="@{/buscarEmpresa}">
<input type="radio" name="filtro" value="dia" onclick="submitForm()"> Día
<input type="radio" name="filtro" value="mes" onclick="submitForm()"> Mes
<input type="radio" name="filtro" value="ano" onclick="submitForm()"> Año
</form>
按下某些单选按钮时,我在<script>
标签中使用了以下js代码:
function submitForm(){
document.getElementById("form").submit();
}
控制器看起来像这样:
@GetMapping("/buscarEmpresa")
public ModelAndView buscarEmpresa(@RequestParam(name = "empresas", required = false) Integer id,
@RequestParam(name="filtro", required = false) String filtro) {
ModelAndView mav = new ModelAndView(ViewConstant.DASHBOARD_3);
mav.addObject("nombreEmpresa", (empresaRepository.getEmpresaByIdEmpresa(id)).getNombre());
sendEntradas(mav, id);
sendSalidas(mav, id);
mav.addObject("empresas", empresaRepository.findAll());
mav.addObject("idEmpresa", id);
return mav;
}
我尝试将th:action
更改为以下内容:
th:action="@{/buscarEmpresa?empresas=__${idEmpresas}__}"
其中idEmpresas
是我从控制器发送的ID值,我想重新发送它,但是当我提交表单时,它仅发送单选按钮的值。我该如何解决?我正在使用Spring Boot和Thymeleaf作为模板引擎。
答案 0 :(得分:2)
更新视图以将所选ID作为隐藏的input
嵌入表单中,以便将其与每个form submission上的单选一起返回:
<form id="form" th:action="@{/buscarEmpresa}">
<input type="hidden" id="empresasId" name="empresasId" value="<empresasId_value_from_select>">
<input type="radio" name="filtro" value="dia" onclick="submitForm()"> Día
<input type="radio" name="filtro" value="mes" onclick="submitForm()"> Mes
<input type="radio" name="filtro" value="ano" onclick="submitForm()"> Año
</form>