2011-12-14 28 views
0

我已經寫了一個帶有動態添加表單元素的webform。 我創造了一些字段集,然後在滿足一定條件下, 我插入一些選擇框在我感興趣的字段集如何瀏覽表單元素

例如,我創建這樣的字段集:

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__"] 這一點也適用於火狐,薩fari,Opera,Chrome,它在IE8上不起作用(問題不在於innerHTML)。 更具體地說,在IE8中未定義form.elements["field__collection__"]

回答

0

嘗試讓你的字段集像FIELDSET這

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

再元素有「X」的名稱爲:

var nameOfxInFieldSet = fieldSet.getElemenetsByName('X') 
+0

謝謝亞當的關注。你在Firefox上編寫的是什麼,但IE瀏覽器並非如此。你有什麼想法,爲什麼發生這種情況? – user690182