当前时间 加入收藏 设为首页 联系站长
先锋站长网
您的位置:>首页 -> 技术文章 -> .NET编程->ASP实现动态添加表单内容的实例程序
ASP实现动态添加表单内容的实例程序
来源: | 作者: | 时间:2008-03-26 20:29:15 | 录入者:27069667

很多时候,不知道需要表单的数目,就需要能对表单进行数量的控制。收集了如下两个效果:


以下为引用的内容:
<html>
<body>
<form name="form1">
<table id="tb1" border=0>
   <tr><td><a href="#" onclick="return addFj()">添加附件</a></td></tr>
</table>
<input type="hidden" name="fjCnt" value="1" />
</form>
</body>
</html>
<script language="javascript">
  function addFj()
  {
      var oTb = document.getElementById("tb1");

      var oTr = oTb.insertRow(0);
      var name = "thefilename"+document.form1.fjCnt.value;
      document.form1.fjCnt.value=parseInt(document.form1.fjCnt.value)+1;
      oTr.insertCell(0).innerHTML = "<input id='file' name='"+name+"' type=file style='width:400px;'> <input type=button onclick='return delFj(this)' value='删除'>"
      return false;
  }
  function delFj(obj)
  {
      obj.parentElement.parentElement.removeNode(true);
      return false;
  }
</script>

以下为引用的内容:
<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
.p9{ font-size: 9pt; font-family: 宋体 }
td {font-size: 9pt}
.tx {height: 16px; width: 30px; border-color: black black #000000; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt; background-color: #eeeeee; color: #0000FF}
.tx2 {height: 16px;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt; color: #0000FF; border-left-color:#000000; border-right-color:#000000; border-top-color:#000000; border-bottom-color:#000000}
.bt {border-left:1px solid #C0C0C0; border-top:1px solid #C0C0C0; font-size: 9pt; border-right-width: 1; border-bottom-width: 1; height: 16px; width: 80px; background-color: #EEEEEE; cursor: hand; border-right-style:solid; border-bottom-style:solid}
.tx1 { width: 400 ;height: 20px; font-size: 9pt; border: 1px solid; border-color: black black #000000; color: #0000FF}
-->
</STYLE>
<SCRIPT LANGUAGE="vbscript">
function addfile()
dim str
str="<table>"
if not IsNumeric (window.form1.filenum.value) then window.form1.filenum.value =1
for i=1 to window.form1.filenum.value
str=str&"<tr><td valign='middle'>文件"&i&":</td><td><input type='file' name='file"&i&"' class='tx1' value size='20'>  保存为<input type='text' name='file"&i&"' size='20' class='tx2'></td></tr>"
next
window.uptd.innerHTML =str&"</table>"
end function
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Show()
{
var allnum =document.form1.filenum.value;//获取有几个file
for (i=0;i<allnum;i++)
{
alert("文件框的Name:file"+i);
}
return false;
}
//-->
</SCRIPT>
<TITLE></TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"></HEAD>
<BODY BGCOLOR="#ffffff" CLASS="p9" onLoad="addfile()">
<FORM METHOD="post" NAME="form1" ACTION="savetofile.asp" ENCTYPE="multipart/form-data">
  <TABLE BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0">
    <TR>
      <TD><DIV ALIGN="center"><FONT COLOR="#0000ff" SIZE="5">保存到文件</FONT></DIV></TD>


    </TR>
    <TR>
      <TD><TABLE WIDTH="750" BORDER="1" ALIGN="center" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="#111111" STYLE="BORDER-COLLAPSE: collapse">
          <TR>
            <TD HEIGHT="27" COLSPAN="2">上传
              <INPUT NAME="filenum" CLASS="tx2" VALUE="1" SIZE="4">
              个文件  
              <INPUT TYPE="button" NAME="Button" CLASS="bt" onClick="addfile" VALUE="设 定">


            </TD>
          </TR>
          <TR>
            <TD> <DIV ID="uptd"> </DIV></TD>
          </TR>
          <TR>
            <TD HEIGHT="30" COLSPAN="2" ALIGN="middle">
              <INPUT TYPE="Button" NAME="Button" CLASS="bt" VALUE="看看有几个框" onclick="Show()">
  <INPUT TYPE="submit" NAME="Button" CLASS="bt" VALUE="上 传">
                
              <INPUT TYPE="reset" NAME="Button" CLASS="bt" VALUE="重 置">
            </TD>
          </TR>
        </TABLE></TD>
    </TR>
 
  </TABLE>
</FORM>
</BODY>
</HTML>

在asp中,动态表单可按普通表单一样进行提交。简易的方法是设定一个固定表单的name,当有多个表单提交时,各表单数据会自动用","隔开,然后用split进行分割,再循环进行分别提交。如下:  

以下为引用的内容:
 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<script language="javascript">
function addTxtProductNameBox()
  {
      var oTb = document.getElementById("TableProductName");
      var oTr = oTb.insertRow(0);
      oTr.insertCell(0).innerHTML ="<input name='txtProductName' type='text'><input type=button onclick='return delTxtProductNameBox(this)' value='删除'>"
      return false;
  }
  function delTxtProductNameBox(obj)
  {
      obj.parentElement.parentElement.removeNode(true);
      return false;
  }
</script>
<% dim rs3,sql3,productNameArray
    if productName<>"" then
    set rs3=server.CreateObject ("ADODB.RecordSet")
    sql3="select * from AmdiProduct"
    rs3.open sql3,conn,3,2
    productNameArray=split(productName,",")
    for i = 0 to ubound(productNameArray)
    rs3.addnew
    rs3("CompanyID")=companyId
    rs3("ProductName")=productNameArray(i)
    rs3.update
    next
    rs3.close   
                set rs3=nothing
    end if
%>
<form name="form1" method="post" action="">
产品名称:<a href="#" onclick="addTxtProductNameBox()">添加产品名称</a>
<table id="TableProductName" border=0>
   <tr><td> </td></tr>
</table>
<input name="submit" type="submit" id="submit" value="== 提交 ==" />
</form>

[上一篇]利用ASP将HTML格式数据传输给Exce.. [下一篇]Asp.net中实现从弹出窗口中选择值
 评 论
称  呼:
内  容:
·本站发布内容均为客观表达作者观点,不代表本站立场,请勿攻击和漫骂
·网游发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
最新文章
站长先锋|先锋站长网 (17日)
企业邮局不断壮大 时代邮箱再.. (26日)
网店办照试行 无本经营亮剑何.. (20日)
CN域名年增长率达94.6% (14日)
解读:“.中国”域名幕后的争.. (14日)
后奥运时代互联网将刮繁体风 (11日)
IE8发布与“.中国”域名系统.. (04日)
抢滩WindowsServer2008 主机.. (28日)
“解百纳”千千结难解 .TM域.. (21日)
奥运商机刺激主机市场供求 (16日)
精彩推荐
站长先锋|先锋站长网 (17日)
企业邮局不断壮大 时代邮箱再添 (26日)
网店办照试行 无本经营亮剑何方 (20日)
CN域名年增长率达94.6% (14日)
解读:“.中国”域名幕后的争夺 (14日)
后奥运时代互联网将刮繁体风 (11日)
IE8发布与“.中国”域名系统启 (04日)
抢滩WindowsServer2008 主机商 (28日)
“解百纳”千千结难解 .TM域名 (21日)
观察:中小网站或渐成互联网主角 (14日)
热门咨询
Fs2You为您提供无限大小免费.. (28日)
用电子商务的网站进行信用卡.. (17日)
免费CN域名注册,每个人最多可.. (28日)
由站长论坛为您提供cn或者com.. (28日)
wap站长大全 (17日)
免费600提供600M免费ASP空间 (28日)
ASP如何获取客户端真实IP地址 (26日)
中国网络为注册会员免费赠送.. (28日)
地方分类信息网站推广重心! (16日)
如何编程删除access表中所有.. (22日)
联系方式:MSN:xFzz@hotmail.com QQ:486031、219741、54817814 电话:010-67216557
Copyright@xFzz.com all rights reserved 京ICP备05047353号
Powered by xFzz Code © 2003-07 bbs.xFzz.com