关于select标签的value
我们知道在网页开发中只有 input、textarea、select三种类型的标签value属性的值才会提交给服务器。如,input标签有title、type、disabled等属性,但是这些属性都是供显示用的,用户并不能修改。
对于input、textarea标签其value中非常明显,input在定义的时候写死了,而textarea标签的value值很好界定(用户写入的即是其value)。但是select标签的value在使用时会出现一些分歧:
- 可以在<option>中设定value属性,如此再向服务器提交的时候直接提交设定的value。
<select name="area"> <option value="bj">北京</option> <option value="sh">上海</option> <option value="jz">焦作</option> </select>
在提交到时候,如果选中的是“北京”,向服务器提交的就是"area=bj"。
- 在<option>中缺省value属性,则提交数据时提交的是选定的文本。
1 <select name="area"> 2 <option >北京</option> 3 <option >上海</option> 4 <option >焦作</option> 5 </select>
在提交到时候,如果选中的是“北京”,向服务器提交的就是"area=北京"。
根据此现象进一步作出一个大胆的推测:所谓的select标签其实就是一个可供选择(限制选择)的text元素,我们在选中某个选项的时候就相当于将此选项填入了该text。所以提交的数据自然是该“text”中填入的“value”。