【问题标题】:How to navigate through form elements如何浏览表单元素
【发布时间】: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


    【解决方案1】:

    尝试像这样获取您的字段集

    var fieldSet = document.getElementsByName('field__collection__')[0];
    

    然后 fieldSet 中名称为“X”的元素将是:

    var nameOfxInFieldSet = fieldSet.getElemenetsByName('X')
    

    【讨论】:

    • 感谢亚当的关注。您所写的内容适用于 Firefox,但 IE 并非如此。你知道为什么会发生这种情况吗?
    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多