可能重复:
Using square brackets in hidden HTML input fields为什么在input元素的name属性中使用括号?
我能做些什么,在输入元素的name属性括号? 这是教程:
<input id="user_email" name="user[email]" size="30" tabindex="1" type="text">
可能重复:
Using square brackets in hidden HTML input fields为什么在input元素的name属性中使用括号?
我能做些什么,在输入元素的name属性括号? 这是教程:
<input id="user_email" name="user[email]" size="30" tabindex="1" type="text">
它们在HTML中没有特别的含义。包括PHP在内的一些服务器端框架使用这种标记来表示它们应该在单个服务器端对象(例如,在PHP情况下为地图 —)的关联数组中建立数据。因此,例如,如果您有name="user[email]"
和name="user[phone]"
并提交了表单,那么在服务器上的PHP代码中,您将从请求中检索到一个单一的user
对象,并且它将包含密钥email
和phone
。
至于HTML而言,他们只是字符,你可以在名称中使用,无论从a
,7
或!
不同。
如果您计划通过客户端名称访问表单元素,那么它们会阻止您在JavaScript中使用点符号来执行此操作(因为[
在JS中有特殊含义),因此您必须改用方括号表示法。
您可能会认为字符在到达服务器后具有特殊意义。我知道的唯一通用系统是PHP,它将数据作为$_REQUEST['user']['email']
而不是$_REQUEST['user[email]']
。
Rails做同样的事情。 –
菲尼克斯也做同样的事情。 – thepanuto