阻止Internet Explorer将我的索引转换为int

时间:2012-04-19 17:19:35

标签: javascript internet-explorer

我正在使用类似的表单编制索引:

var i = 0;
var s = new String( i+'.prop');
var v = document.formName[s].value;

但我得到的实际上是:

document.formName[0].value

看来我的索引值“0.prop”正在转换为int,仅在Internet Explorer(8)中

关于如何阻止它的任何想法?

更新:这是展示问题的jsfiddle。应返回'111',但它在IE8中返回foo。

3 个答案:

答案 0 :(得分:1)

使用toString()方法:

var i = 0;
var s = i.toString() + '.prop';

typeof(s) === string // true

答案 1 :(得分:1)

发现它!根据此answer NAME属性必须以字母而非数字开头......

所以调整你的HTML并使用

var i = 0;
var s = 'prop_'+i;
var v = document.formName[s].value;

会奏效(我也更新了小提琴)

see fiddle

答案 2 :(得分:0)

var s = new String(''+i+'.prop');

或者

var s = new String( i.toString()+'.prop');