可能重複:
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