关于select标签的value

我们知道在网页开发中只有 input、textarea、select三种类型的标签value属性的值才会提交给服务器。如,input标签有title、type、disabled等属性,但是这些属性都是供显示用的,用户并不能修改。

对于input、textarea标签其value中非常明显,input在定义的时候写死了,而textarea标签的value值很好界定(用户写入的即是其value)。但是select标签的value在使用时会出现一些分歧:

  1. 可以在<option>中设定value属性,如此再向服务器提交的时候直接提交设定的value。
    <select name="area">
    <option value="bj">北京</option>
    <option value="sh">上海</option>
    <option value="jz">焦作</option>
    </select>

    在提交到时候,如果选中的是“北京”,向服务器提交的就是"area=bj"。

  2. 在<option>中缺省value属性,则提交数据时提交的是选定的文本。
    1 <select name="area">
    2 <option >北京</option>
    3 <option >上海</option>
    4 <option >焦作</option>
    5 </select>

    在提交到时候,如果选中的是“北京”,向服务器提交的就是"area=北京"。

根据此现象进一步作出一个大胆的推测:所谓的select标签其实就是一个可供选择(限制选择)的text元素,我们在选中某个选项的时候就相当于将此选项填入了该text。所以提交的数据自然是该“text”中填入的“value”。

posted @ 2013-11-30 12:35  gisk  阅读(1877)  评论(0编辑  收藏  举报
这是微黔的博客