在同一页面上,我使用Play重复值和document.querySelector
。
举一个最小的例子:
@helper.form(action = routes.MyController.myAction()) {
<input type="search" id="input[0]" />
<input type="search" id="input[1]" />
<input type="search" id="input[2]" />
}
<script language="JavaScript">
var input = document.querySelector('#input[1]');
something(input);
</script>
问题是,Play使用该格式input[i]
来映射重复的字段,但JavaScript引擎不接受它:
SyntaxError:指定了无效或非法字符串
一方或另一方是否有简单的解决方法?
答案 0 :(得分:1)
在CSS选择器中,方括号用于选择属性。如果你想要字面上匹配它,你必须逃脱它们。
var input = document.querySelector('#input\\[1\\]');
您还可以使用getElementById
,它不解析ID。
var input = document.getElementById('input[1]');