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

Met*_*der 23 html html5

假设此复选框片段:

<input type="checkbox" value="1">Is it worth?</input>
Run Code Online (Sandbox Code Playgroud)

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

use*_*033 22

我希望我理解你的问题.

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

<form method="post" action="urlofserver">
    <input type="checkbox" name="mycheckbox" value="1">Is it worth?</input>
</form>
Run Code Online (Sandbox Code Playgroud)

服务器将接收mycheckbox值为1.

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

  • 我认为提问者问为什么复选框有一个值; 而不是检查状态. (10认同)
  • OP 消失了,但是如果省略“value”属性,则应该使用有关默认值的信息更新此答案(或者如果需要“value”属性,那么会发生什么(可能取决于浏览器/版本)) 。另外,推荐值(约定)是多少?[另一个答案](/sf/ask/1002672961/#38914478)这里声称默认值为“on” 。 (2认同)

Nif*_*ift 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>
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助!:)

  • 你的例子是特定于PHP,[我在这里的评论中解释](http://stackoverflow.com/a/14324382/175071),只是想添加:) (4认同)

Adr*_*lva 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>
Run Code Online (Sandbox Code Playgroud)

  • 在服务器端,您将获得一个名为BrandId的数组,其中包含选定的值(例如1,2) (7认同)
  • 这意味着什么?例如,如果有人检查福特和通用汽车,会发生什么? (5认同)