2016-01-22 47 views
2

我試圖通過JavaScript函數訪問表單數據時,輸入是「更改」。 目前我使用這樣的事:使用表單值javascript

<form> 
    <input type="radio" name="type" name="myValue" onchange="myFunction(this.form)> 
</form> 

<script> 
    function myFunction(form) { 
     var value = form.type.value; 
    } 
</script> 

和它的作品的但是不是寫

var value = form.type.value; 

我需要寫這樣的事情

var myArray = ["type"]; 
var value = form.myArray[0].value; 

這是不工作的。這是由於如何處理數組中的值?
我在JSFiddle上使用它here如果這很有用。
感謝

回答

2

嘗試

var value = form[myArray[0]].value; 

form.myArray[0]首先從形式得到成員myArray的,然後試圖讓在第一個項目。等於(form.myArray)[0]

form[myArray[0]]明確地說,得到形式的部件,其價值的名稱裏面myArray[0]

+0

太棒了,謝謝:) –

0

可以使用[]這樣的訪問對象的屬性:

var value = form["type"].value; 
// equivalent to: 
var value = form.type.value 

你的情況這應該工作:

var myArray = ["type"]; 
var value = form[myArray[0]].value; 
+0

太棒了,謝謝:) –

+0

不客氣:-) – madox2

0

'myArray'被聲明爲本地變量但不是表格的屬性。 所以form.myArray會失敗。