在你的服务端脚本中用response.write或类似语句生成。

解决方案 »

  1.   

    动态生成文本框==>用response.write或类似语句生成。
    文本框隐藏==>用层,层里面有一个属性可以控制visibal
      

  2.   

    <HTML><HEAD><TITLE>JK:支持民族工业,尽量少买X货</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <STYLE>
    TD,INPUT{ font-size:12; }
    </STYLE><META content="MSHTML 6.00.2800.1491" name=GENERATOR></HEAD>
    <BODY bgColor=#eeeeee>
    <FORM name=frm action=about:结果页面 method=post>
    <H4 align=center>JK的动态明细示例</H4>
    <TABLE borderColor=#cccccc width="100%" align=center border=1>
    <TBODY>
    <TR>
    <TD width=500></TD>
    <TD align=right><INPUT class=bottom onclick=addDetailProcess(); type=button value=增加>&nbsp; <INPUT class=bottom onclick=delDetailProcess(); type=button value=删除>&nbsp; <INPUT class=bottom onclick=submitProcess(); type=button value=完成> </TD></TR></TBODY></TABLE>
    <DIV id=thedetailtableDIV width="100%">
    <TABLE borderColor=#cccccc width="100%" align=center border=1>
    <TBODY id=tbDetailPrepare style="DISPLAY: none">
    <TR>
    <TD><INPUT type=checkbox name=record_select></TD>
    <TD><INPUT name=detail_id></TD>
    <TD><INPUT name=detail_name></TD></TR></TBODY>
    <TBODY>
    <TR id=trDetailTitles bgColor=#eeeeee>
    <TD><INPUT onclick=selectallcheckbox(this) type=checkbox></TD>
    <TD>明细ID*</TD>
    <TD>明细NAME</TD></TR>
    <TBODY id=tbDetailUsed>
    <TR>
    <TD><INPUT type=checkbox name=record_select></TD>
    <TD><INPUT name=detail_id></TD>
    <TD><INPUT name=detail_name></TD></TR>
    <TR height=0>
    <TD colSpan=100 height=0>合计</TD></TR></TBODY></TABLE></DIV></FORM><INPUT type=hidden name=theHistoryRecord>
    <SCRIPT language=javascript>
     window.onload = historyOncemore;
     window.onbeforeunload = fixHistory;
     function fixHistory()       //记住历史
     {
       document.all("theHistoryRecord").value=document.all("thedetailtableDIV").innerHTML.replace(/\n/g,"");
     }
     function historyOncemore()      //恢复历史
     {
      if (document.all("theHistoryRecord").value!="")
       {document.all("thedetailtableDIV").innerHTML=document.all("theHistoryRecord").value;
       }
     }
     function selectallcheckbox(obj)     //全选或全不选
     {
      var tureorfalse=obj.checked;
      var theDetail=tbDetailUsed.rows;
      for(var i=0;i<theDetail.length-1;i++)
      {
       theDetail[i].all("record_select").checked=tureorfalse;
      }
     }
     
     
     function addDetailProcess(afterRowIndex)  //增加明细
     {
      var alltbDetailUsed= document.all("tbDetailUsed").rows;
      var theFirstSelectedDetail;
      if (afterRowIndex==null)
      {
       for(var i=0;i<alltbDetailUsed.length-1;i++)
       {
        if (alltbDetailUsed[i].all("record_select").checked==true) {theFirstSelectedDetail=i;break;}
       }
       if (theFirstSelectedDetail==null) {theFirstSelectedDetail=alltbDetailUsed.length-2;}
      }
      else theFirstSelectedDetail=afterRowIndex;
      var newRow = document.all("tbDetailPrepare").rows[0].cloneNode(true);
      var desRow = alltbDetailUsed[theFirstSelectedDetail+1];
      desRow.parentElement.insertBefore(newRow,desRow );
     }
      
     function delDetailProcess()      //删除明细
     {
      var alltbDetailUsed= document.all("tbDetailUsed").rows;
      if (confirm("确定选择正确并且要将这些明细删除")==false) return false;
      for(var i=0;i<alltbDetailUsed.length-1;i++)
      {
       if (alltbDetailUsed[i].all("record_select").checked==true)
       {
        document.all("tbDetailUsed").deleteRow(i);
        i=i-1;
       }
      }
     }
     function submitProcess()
     {
       document.frm.submit();
     }</SCRIPT>
     </BODY></HTML>
    原来高手写的,能保存历史记录的