POST 未选中HTML复选框
在本教程中,我们将学习如何 POST 未选中的 HTML 复选框。
为了与用户交互,需要通过网站获取用户的输入或数据。HTML 表单用于获取用户的输入。表单对于在网站上获取用户数据至关重要。这些表单获取用户的输入,并使用 HTTP 请求将数据发送到服务器。
HTTP 请求有两种类型,一种是 GET,另一种是 POST。POST 请求是最常用的类型,因为它安全且可以发送大量数据。但是这两种方法都发送其值已更改或编辑的数据。因此,未编辑的值或未选中的复选框不会发送到服务器。
因此,让我们看看如何从表单中 POST 未选中的 HTML 复选框。
使用隐藏输入类型
隐藏输入类型是一个输入字段,它既不会从用户那里获取输入,也不会显示。此输入字段仅用于通过 HTTP 请求默认发送此字段的值。这是形成数据和数据库的一个非常重要的字段。
如果没有 HTML 表单,我们就无法将数据发送到服务器。要将未从用户那里获取的附加数据发送到服务器,我们必须在 HTML 中使用隐藏输入类型。
用户可以按照以下语法使用隐藏输入类型来发布未选中的 HTML 复选框:
语法
<input type = "checkbox" id = "Check" name = "CheckBox" value = "1"/>
<input type = "hidden" id = "Checkhidden" name = "CheckBox" value = "0"/>
<script>
if(document.getElementById(" <Checkbox ID here> ").checked) {
document.getElementById( <Hidden field id here> ).disabled = true;
}
</script>
按照上述语法使用隐藏输入字段。
示例 1
在下面的示例中,我们在表单中使用了复选框来获取用户的输入。我们将看到在使用复选框发布数据后会得到什么。我们在表单中添加了七个复选框。单击提交按钮后,我们将收到表单中 POST 方法发送的数据。
<html>
<body>
<h2> Using <i> POST method </i> to post the HTML checkboxes </h2>
<form method="post" id="form" onsubmit="func(); return false">
Select your Subjects: <br>
<input type="checkbox" id="group1" name="Subject" value="Math" />
<label for="group1"> Math </label><br>
<input type="checkbox" id="group2" name="Subject" value="Science" />
<label for="group2"> Science </label><br>
<input type="checkbox" id="group3" name="Subject" value="English" />
<label for="group3"> English </label> <br>
<input type="checkbox" id="group4" name="Subject" value="History" />
<label for="group4"> History </label> <br>
<input type="checkbox" id="group5" name="Subject" value="Geography" />
<label for="group5"> Geography </label> <br>
<input type="checkbox" id="group6" name="Subject" value="Hindi" />
<label for="group6"> Hindi </label> <br>
<input type="checkbox" id="group7" name="Subject" value="Information technology" />
<label for="group7"> Information technology </label> <br>
<button> Submit </button>
</form>
<div id="output"> </div>
<script>
function func() {
const form = document.getElementById('form');
const formData = new FormData(form);
const output = document.getElementById('output');
output.style.color = "red";
for (const [key, value] of formData) {
output.innerHTML += `${key}: ${value}` + '<br>';
}
}
</script>
</body>
</html>
在上面的示例中,用户可以看到我们只会获得已选中复选框的值,并且只有这些值会发送到服务器。
示例 2
在下面的示例中,我们使用了隐藏输入类型来将数据发送到服务器,无论复选框是否选中。我们正在定义与表单中其他复选框同名的隐藏输入类型。在脚本中,我们给出了一个条件,如果选中复选框,则相应的隐藏字段将被禁用。这样,我们就不会为同一个复选框获得双倍值。
<html>
<body>
<h2> Using <i> hidden type </i> of input to post unchecked HTML checkboxes </h2>
<form method="post" action="#" onsubmit="func(); return false" id="form">
<label for="fname"> Enter your name: </label>
<input type="text" id="fname" name="Fname" value="" /> <br>
<label for="lname"> Enter your name: </label>
<input type="text" id="lname" name="Lname" value="" /> <br> Select your gender: <br>
<input type="hidden" id="maleHidden" name="Gender" value="He is not a male" />
<input type="checkbox" id="male" name="Gender" value="male" />
<label for="male"> Male </label> <br>
<input type="hidden" id="femaleHidden" name="Gender" value="He is not a female" />
<input type="checkbox" id="female" name="Gender" value="female" />
<label for="female"> Female </label> <br>
<input type="hidden" id="transgenderHidden" name="Gender" value="He is not a transgender" />
<input type="checkbox" id="transgender" name="Gender" value="transgender" />
<label for="transgender"> Transgender </label> <br>
<button> Submit </button>
<div id="output"> </div>
</form>
<script>
function func() {
if (document.getElementById("male").checked) {
document.getElementById('maleHidden').disabled = true;
}
if (document.getElementById("female").checked) {
document.getElementById('femaleHidden').disabled = true;
}
if (document.getElementById("transgender").checked) {
document.getElementById('transgenderHidden').disabled = true;
}
const form = document.getElementById('form');
const formData = new FormData(form);
const output = document.getElementById('output');
output.style.color = "red";
for (const [key, value] of formData) {
output.innerHTML += `${key}: ${value}` + '<br>';
}
}
</script>
</body>
</html>
在上面的示例中,用户可以看到我们可以使用隐藏作为 HTML 中的输入类型来发布未选中的 HTML 复选框。
在本教程中,我们学习了如何 POST 未选中的 HTML 复选框。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP