最近,我错误地没有以我的项目形式为select标签指定值。但是它工作正常并且获得了正确的值。这是否意味着如果我未指定选项的值,那么它将假定占位符/我为该选项显示的值。
<div class="form-group">
<select class="form-control" name="category">
<option>Action</option>
<option>Horror</option>
<option>Adventure</option>
<option>Comedy</option>
</select>
</div>
答案 0 :(得分:2)
基本上您是对的,在https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select上看到MDN文档
每个元素应具有一个value属性,其中包含 选择该选项时要提交给服务器的数据值;如果不 包含value属性,该值默认为包含的文本 在元素内部。您可以在 页面第一时使其默认选中的元素 加载。
是的,您是对的,它假定您在html标记中显示的内容为值
答案 1 :(得分:2)
答案 2 :(得分:1)
如果您没有为每个选项分配任何值,则文本将发送到form操作。我们指定值的原因是因为它更易于使用。您可以说,选项标签之间的文本是要显示给用户的,值属性是给提交表单时后面的应用程序的。
示例:
<select>
<option value="Pixel"> Google Pixel 4XL</option>
<option value="G8X"> LG G8X ThinQ Dual Screen</option>
<option value="Iphone"> Iphone 11 Pro Max</option>
</select>
比方说,我想检查所选选项是否为G8X
,那么我就不必写这样的东西了:
if (option == "LG G8X ThinQ Dual Screen")
{
// do something
}