我使用
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">
结果是$_POST [‘1’]返回值,但$_POST [‘1.1’]不返回任何内容.我检查了html 4规范,说name属性的值只以字母开头,但是1不是一个字母,它是如何得到的,而1.1没有?还是在这里发生一些其他的魔法?我使用最新版本的Chrome.谢谢.
解决方法
通过HTML规则,name属性可能具有任何值:它以CDATA类型声明.不要将声明为具有NAME类型的属性的引用混淆.见
http://www.w3.org/TR/html4/interact/forms.html#adef-name-INPUT
在PHP中使用$POST […]时,需要注意这个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’].