我正在做PHP验证,我正在阅读表单上的 w3.org。谁能澄清这个说法"如果未选择任何选项,则控件不成功,并且在提交表单时,名称或任何值都不会提交到服务器"。为了测试这一点,我创建了
<form method="get" action="#">
<select name="select_name" >
<option value="">Select one</option>
<option value="one">Choice one</option>
<option value="two" >Choice two</option>
<option value="three">Choice three</option>
</select>
</form>
当我打印GET数组时,我看到名称"select_name"总是传递给服务器。对于单选和复选框,这不是真的。但我不明白这句话想说什么。在选择选项期间是否可以传递"既不传递名称也不传递值"?
您引用的规范:
如果未选择任何选项,则控件不成功,并且在提交表单时,名称或任何值都不会提交到服务器。
。指示未选择任何选项时要执行的操作,但默认情况下,大多数浏览器将自动选择(下拉(select 元素的第一个选项。您是否在测试页面上没有看到页面加载时自动选择第一个选项"选择一个"?如果您随后在选择该选项的情况下提交了表单,则第一个选项的值为空字符串,则应具有名称为"select_name"的请求参数和空字符串的值。
在(非下拉(的情况下,选择多个元素:
<select name="select_name" multiple>
。默认情况下不选择任何选项,因此,如果您在未选择任何选项的情况下提交,您应该会看到您没有获得"select_name"请求参数。
注意:您用"PHP"标记了您的问题,但这不是PHP的事情。它是浏览器根据当时表单控件的状态形成请求。