【发布时间】:2011-12-14 15:28:16
【问题描述】:
我编写了一个动态添加表单元素的网络表单。 我创建了许多字段集,然后在满足某些条件时, 我在我感兴趣的字段集中插入了一些选择框。
例如,我创建的字段集如下:
document.write('<fieldset name="field__collection__">') ;
document.write('<legend align="right" style="color:#FF0066"><code>COLLECTION</code></legend><br />') ;
document.write('</fieldset') ;
然后,为了访问字段集并创建一个选择框,我会这样做:
var html = form.elements["field__collection__"].innerHTML ;
for( netelement in CUSTOM)
{
html = html + '<fieldset><legend align="left" style="color:#888888"><code>'+ netelement +'</code></legend>'
var x = "__collection__" +'###'+ netelement +'###' ;
html = html + '<select name=\"'+ x +'\" multiple="true" size="5" onsubmit="document.getElementById(\'MAIN\').submit()">' ;
for( collection in CUSTOM[netelement] )
if( collection != "icollection" )
html = html + '<option>'+collection+'</option>' ;
html = html + '</select>' ;
html = html + '</fieldset>' ;
}
form.elements["field__collection__"].innerHTML = html ;
问题是我可以像这样访问字段集:form.elements["field__collection__"]
这适用于 Firefox、Safari、Opera、Chrome,但不适用于 IE8(问题不在于 innerHTML)。
更具体地说,form.elements["field__collection__"] 在 IE8 中未定义。
【问题讨论】:
标签: javascript forms internet-explorer-8 element