2012-07-28 55 views
0

所以現在我有這樣的形式...JavaScript的名稱值不工作

<INPUT type="text" name="budget[unbudgeted_balance]" value=""> 
<INPUT TYPE="button" NAME="button2" Value="Get Funds Value" onClick="writeText(this.form)"> 

而一些CoffeeScript的這樣......

window.writeText = (form) -> 
    form.budget[unbudgeted_balance].value = "frack" 

翻譯成JS這樣...

window.writeText = function(form) { 
    return form.budget[unbudgeted_balance].value = "frack"; 
}; 

如果我的名字=「預算」......它的工作原理。但如果我的名字=「預算[unbudgeted_balance]」,它不會工作,這是爲什麼。我該如何解決?

+0

全局變量不好(窗口...)http://c2.com/cgi/wiki?GlobalVariablesAreBad。 CoffeeScript着手解決意外使用它們的問題。如果你要特別要求在全球範圍內的東西,你應該確保沒有其他的替代方案:) – 2012-07-30 03:33:15

回答

2

字段的名稱爲budget[unbudgeted_balance]。嘗試:

form.elements["budget[unbudgeted_balance]"].value = "frack" 
+0

TrueBlue正義的名稱。就是這樣! – thefonso 2012-07-28 21:11:22

1

我不知道的CoffeeScript所以這只是一個猜測

window.writeText = (form) -> 
    form["budget[unbudgeted_balance]"].value = "frack" 
+0

唉沒有穆薩,但謝謝。 – thefonso 2012-07-28 21:08:34

+0

@thefonso似乎工作http://jsfiddle.net/mowglisanu/9fncK/ – Musa 2012-07-28 21:12:59