<html>
<head>
<title></title>
<script src="jquery-1.11.2.js"></script>
<script>
$(function() {
$('#chek').click(function () {
if ($(this).attr('checked')) {
$("#btnSubmit").html("true");
}
else {
$("#btnSubmit").html("false");
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div>
<form method="post">
<input type="checkbox" id = "chek" name="readAlread" value="true"> true
<input type="checkbox" name="readAlread" value="false"> false
<br>
<br>
<input id ="btnSubmit" type="submit" value="submit" onclick="chek">Добавить
</form>
</div>
</body>
</html>
抱歉,我是新手,在互联网上无处不在,但找不到我的问题的答案..如果未选中该复选框,我需要向服务器发送false。在服务器上我有一个存储类型的变量boolean在IDEA中工作,使用java,spring,hibernate。在控制器类中,我有一个请求
@PostMapping("/add")
public String add(@RequestParam Boolean readAlready, Map<String, Object> model) {
......
return "main";
}
Еслияневыбираюгалочкувchentboxeтоуменявылетаетошибканасайте
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat May 26 20:09:56 MSK 2018
There was an unexpected error (type=Bad Request, status=400).
Required Boolean parameter 'readAlready' is not present
答案 0 :(得分:0)
为什么不只有一个复选框(而不是两个),并在服务器上读取值(checked = true,not checked = false)?拥有两个复选框会带来奇怪的用户体验,而且您的解决方案也会变得不必要地复杂化。
复选框的状态(选中/取消选中)作为表单的一部分提交给服务器。请在那里阅读。
答案 1 :(得分:0)
这听起来像你想要一个无线电控制而不是复选框的情况。无线电允许您为一个输入名称提供多个选项,如果单击相反的选项,将自动交换。这也将消除您对javascript的需求。
<input type="radio" name="readAlread" value="true"> true
<input type="radio" name="readAlread" value="false"> false
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio