假设这个复选框片段:
<input type="checkbox" value="1">Is it worth?</input>
是否有任何理由value
在 HTML 中静态定义复选框的属性?这是什么意思?
假设这个复选框片段:
<input type="checkbox" value="1">Is it worth?</input>
是否有任何理由value
在 HTML 中静态定义复选框的属性?这是什么意思?
我希望我能正确理解你的问题。
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
.
我只是想对阿德里亚诺席尔瓦的评论发表评论。为了使他描述的内容起作用,您必须在 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 之后不需要 [])。这将为您提供一个值数组,数组中的值是勾选的值的复选框。
希望这可以帮助!:)
一个原因是使用系统中值的易用性。
<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>
提交表单时,value
如果选中复选框,则将属性中的数据用作表单输入的值。默认值为“开”。
$('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>
为了快速浏览答案,来自MDN
提交表单时,仅将当前选中的复选框提交给服务器,报告的值为 value 属性的值
这可能会让人感到困惑,因为看到类似的东西
<input type='checkbox' name='activated' value='1'>
可能会让人们相信 1 表示真,并且它会被视为已检查,这是错误的。该checked
属性本身也仅确定是否应在页面加载时默认选中复选框,而不是当前是否已选中并因此将被提交。