2013-10-22 18 views
0

我正在嘗試執行分段上傳,其中輸入類型的文件是動態生成的。 後來我通過httpservlet請求將所有的字段表單都包含在Bean中。 但是,當我重複我不能找到通過JavaScript僅適用於Chrome !!!產生的動態輸入字段..動態生成的Javascript輸入字段不被Httpservletrequest識別?僅在Chrome中使用?

<table id="table1" name="table1"> 
       <tr> 
       <th>Select</th> 
       <th>Description</th> 
       <th>File Name</th> 
       </tr> 
       </table> 


function add() 
    { 
    var table = document.getElementById("table1"); 
    var rowCount = table.rows.length; 
    var cnt=rowCount 
    var row = table.insertRow(rowCount); 
    var cell1 = row.insertCell(0); 
    var cell2 = row.insertCell(1); 
    var cell3 = row.insertCell(2); 

    var element1 = document.createElement("input"); 
    element1.type="checkbox"; 
    element1.name="selectbx_"+cnt; 
    element1.id='selectbx_'+cnt; 
    cell1.appendChild(element1); 

    var element2 = document.createElement("input"); 
    element2.type="text"; 
    element2.name="Description_"+cnt; 
    element2.id="Description_"+cnt; 
    cell2.appendChild(element2); 

    var element3 = document.createElement("input"); 
    element3.type="file"; 
    element3.size="25"; 
    element3.name="Attachment"+cnt; 
    element3.id="Attachment"+cnt; 
    cell3.appendChild(element3); 
    } 

終於提交我做了 mybeanobject.map(request.getParameterMap()); mybeanobject.map(request);

任何想法爲什麼?

+0

...但是,當我迭代我找不到動態輸入字段...你如何迭代...代碼示例? –

+0

@ R.Oosterholt:我得到了httpservletrequest,並像列表upload_items = upload.parseRequest(request); Iterator itr = upload_items.iterator(); while(itr.hasNext()){ upload_item =(FileItem)itr.next(); \t \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t如果(upload_item.isFormField()){ 鍵 = upload_item.getFieldName(); val = upload_item.getString(); – user2228697

+0

是dom中的新增元素(使用檢查器),它們是否在表單元素的某處? –

回答

1

僅提交表單選項卡內的元素。 將動態元素添加到表單Element中某處的文檔中。

+0

我在頭部裏面有javascript的。那是不夠的?我需要把腳本放在

? – user2228697

+0

只要您在dom中的正確位置生成元素,放置生成元素的腳本的位置並不重要。它們應該在表單元素中。 –

+0

是的..他們是在正確的地方生成,但不能在viewsource中查看,因爲他們是動態生成的..無論是JavaScript或jQuery! – user2228697

相關問題