value属性对HTML中的复选框意味着什么?

时间:2013-01-14 17:56:00

标签: html html5

假设此复选框片段:

<input type="checkbox" value="1">Is it worth?</input>

有没有理由静态定义HTML中复选框的value属性?这是什么意思?

5 个答案:

答案 0 :(得分:21)

我希望我理解你的问题。

value属性定义POST请求发送的值(即,您将HTML表单提交给服务器)。 现在服务器获取名称(如果已定义)和值。

<form method="post" action="urlofserver">
    <input type="checkbox" name="mycheckbox" value="1">Is it worth?</input>
</form>

服务器将收到mycheckbox,其值为1

在PHP中,此POST变量存储在包含$_POST['mycheckbox']的{​​{1}}数组中。

答案 1 :(得分:8)

我只想对Adriano Silva的评论发表评论。 为了得到他描述的工作,你必须在name属性的末尾添加“[]”,所以如果我们采用他的例子,正确的语法应该是:

<input type = "checkbox" name="BrandID[]" value="1">Ford</input>
<input type = "checkbox" name="BrandID[]" value="2">GM</input>
<input type="checkbox" name="BrandId[]" value="3">Volkswagen</input>

然后你使用类似的东西:$ test = $ _POST ['BrandID']; (在PHP代码中的BrandID之后不需要[])。 这将为您提供一组值,数组中的值是勾选值的复选框。

希望这有帮助! :)

答案 2 :(得分:6)

一个原因是使用系统中值的易用性。

<input type="checkbox" name="BrandId" value="1">Ford</input>
<input type="checkbox" name="BrandId" value="2">GM</input>
<input type="checkbox" name="BrandId" value="3">Volkswagen</input>

答案 3 :(得分:3)

提交表单时,如果选中该复选框,则value属性中的数据将用作表单输入的值。默认值为“on”。

$('form').on('change', update).trigger('change')

function update() {
  var form = $(this)
  form.find('output').text('→ ' + form.serialize())
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form>
  <input type="checkbox" name="foo">
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" checked>
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" value="1" checked>
  <output></output>
</form>

<form>
  <input type="checkbox" name="foo" value="bananas" checked>
  <output></output>
</form>

答案 4 :(得分:0)

为了快速浏览答案,请从MDN

提交表单时,仅将当前选中的复选框提交给服务器,并且报告的值是value属性的值

这可能会令人困惑,因为看到类似 <input type='checkbox' name='activated' value='1'>可能导致人们相信1表示正确,它将被视为已选中,这是错误的。 checked属性本身也仅确定是否应在页面加载时默认选中该复选框,当前是否已选中并因此将其提交。