页面上可以通过预先将一定数量的“空白明细项”设为隐藏,
for (i = 0; i < 10; i++) {//假如最多可以增加10项
  document.write('<tr id="inputBatchDim' + (i + 1) + '" style="display:none" >');
然后点增加的时候再用javascript修改输入项为显示来实现:
var cnt = 0;
var eBtnDim=document.getElementById("inputBatchDim" + cnt);
eBtnDim.style.display = "";表单class可以用数组或者ArrayList存储每一个“空白明细项”中的1个字段。

解决方案 »

  1.   

    查一下dom模型的资料吧,比如我们原来做过的增加查询条件的页面,用户可以选择增加一个条件,这时在表格中增加一个trfunction insert_row() {
    //check data validity
    var input_name, input_relation, input_data
    input_name     = column_display.options[column_display.selectedIndex].text
    input_relation = relation.options[relation.selectedIndex].text
    input_data     = data.value
    if (input_name=="(" || input_name==")") { input_relation=" "; input_data=" " }
    if (input_name.length<1) { alert("必须选择字段名") ; return }
    if (input_relation.length<1) { alert("必须选择关系") ; return }
    if (input_data.length<1) { alert("必须填写值") ; return } //date format must like yyyy-mm-dd
    if (data_type=="D") {
    if(!input_data.match(/\d{4}-\d{2}-\d{2}/)) {alert("必须输入正确的日期数据,格式为yyyy-mm-dd"); return }
     }    // If this is a non-DOM browser, bail out
        if (!document.getElementById) { return }    // Get the table placeholder (<div id="tableholder">)
        var table_div = document.getElementById("tableholder")    // Get the table body
        var tbody_node = document.getElementById("tablebody")
        
        // Create the new <tr> element
        var new_tr_node = document.createElement("tr")
        var inserted_node = tbody_node.appendChild(new_tr_node)    // add all the <td> elements (columns) in the inserted row
        var td_node = document.createElement("td")
        inserted_node.appendChild(td_node)
        var input_node = document.createElement("input")
        input_node.type="checkbox"
        input_node.name="a"
        input_node.value="ab"
        td_node.appendChild(input_node)
        var text_node = document.createTextNode(input_name)
        td_node.appendChild(text_node)
        
        var td_node = document.createElement("td")
        inserted_node.appendChild(td_node)
        var text_node = document.createTextNode(input_relation)
        td_node.appendChild(text_node)    var td_node = document.createElement("td")
        inserted_node.appendChild(td_node)
        var text_node = document.createTextNode(input_data)
        td_node.appendChild(text_node)    var td_node = document.createElement("td")
        inserted_node.appendChild(td_node)
        td_node.innerHTML="<input type='radio' name='data" + id_rows + "' value='and' CHECKED>AND<input type='radio' name='data" + id_rows + "' value='or'>OR"
    id_rows++    
        
    /*    var input_node = document.createElement("input")
        input_node.type="checkbox"
        input_node.name="t"
        input_node.value="te"
        input_node.checked="true"
        td_node.appendChild(input_node)
    *//*    input_node.name="logic" + table_rows
        input_node.value="AND"
        input_node.checked="true"
        td_node.appendChild(input_node)
        var text_node = document.createTextNode("AND")
        td_node.appendChild(text_node)
        
        var input_node2 = document.createElement("input")
        input_node2.type="radio"
        input_node2.name="logic" + table_rows
        input_node2.value="OR"
        td_node.appendChild(input_node2)  
        var text_node = document.createTextNode("OR")
        td_node.appendChild(text_node)
    */    
        // Increment the total number of new and existing rows
        new_rows++
        table_rows++
    }
      

  2.   

    感谢先两位的支持,望请大家再出出注意,能不能接合Struts来想想方法。