html中name属性的有效值

Mic*_*ael 11 html

我使用PHP从html页面获取单选按钮值.我的HTML看起来像这样:

<input type="radio" name="1.1" value="yes">
<input type="radio" name="1.1" value="no">

<input type="radio" name="1" value="yes">
<input type="radio" name="1" value="no">
Run Code Online (Sandbox Code Playgroud)

结果是$ _POST ['1']返回值,但$ _POST ['1.1']没有返回任何值.我检查了html 4规格,说name属性的值只以字母开头,但是1不是字母,怎么回来而1.1却没有?或者还有其他一些魔法在这里发生?我使用最新版本的Chrome.谢谢.

Juk*_*ela 14

根据HTML规则,该name属性可以具有任何值:它以CDATA类型声明.不要将对引用声明为具有NAME类型的属性的引用混淆.请参见http://www.w3.org/TR/html4/interact/forms.html#adef-name-INPUT

$POST[...]PHP中使用时,需要注意这个PHP规则:"变量名中的点和空格被转换为下划线.例如<input name="a.b" />变成$_REQUEST["a_b"]."请参阅http://www.php.net/manual/en/language.variables.external.php

所以$_POST['1']应该按原样工作并且确实有效,但不是$_POST['1.1']你需要写$_POST['1_1'].