如果在html select标签中未指定select选项的值怎么办

时间:2019-11-24 17:18:21

标签: html bootstrap-4

最近,我错误地没有以我的项目形式为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>

3 个答案:

答案 0 :(得分:2)

基本上您是对的,在https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select上看到MDN文档

  

每个元素应具有一个value属性,其中包含   选择该选项时要提交给服务器的数据值;如果不   包含value属性,该值默认为包含的文本   在元素内部。您可以在    页面第一时使其默认选中的元素   加载。

是的,您是对的,它假定您在html标记中显示的内容为值

答案 1 :(得分:2)

w3schools的答案

注意:如果未指定value属性,则内容将作为值传递。

https://www.w3schools.com/tags/att_option_value.asp

答案 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
}