2012-07-28 53 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