2013-01-08 30 views
0

我有一個html表單元素名稱作爲協作數組的問題。獲取表單元素作爲關聯數組?

<form name="ff" action="" method="POST"> 
<input name="student[john]" value="John"> 
<input name="student[kofi]"> 
<input name="student[kwame]"> 
<input type="submit" name="submit"> 
</form> 
<a onclick="alert(document.ff.student[john].value);">a<a> 

我得到JS錯誤:「未捕獲的異常:的ReferenceError:未定義的變量:約翰」

但這個代碼工作正常與不方括號的形式元素的名稱。

UPD:

我困惑如何從無線電元素的值(它表示爲一組具有相同名稱的收音機)

+0

'document.ff.student [約翰]'被解釋爲:'document.ff.student'是一個對象,你是在試圖訪問他的名字被存儲在一個屬性變量'john'。 –

+0

UPD:我很困惑如何從'radio'元素中獲取值(它表示爲一組具有相同名稱的「收音機」) –

+0

http://stackoverflow.com/q/604167/218196有幾個解決方案。 –

回答

2

你將不得不使用方括號訪問有特殊字符

<a onclick="alert(document.ff['student[john]'].value);">a<a> 

DEMO

+0

太棒了,它的工作原理=)Thanx –

2

元素名稱AR屬性e不是數組。

嘗試:

document.ff.elements['student[john]'].value 
+0

不錯。 =)Thanx。 –