如何动态生成表单行,然后提交到第二张页面,最后再由第二章页面保存到数据库中

summily 2009-11-27 02:43:28
<style type="text/css">
.Tab{ border-collapse:collapse;}
.Tab td{ border:solid 1px #000000;
font-size: 11px;
}
</style>
<script type="text/javascript">

function addRow(){
var demotr = document.getElementById("demoRow");
var tdlength = demotr.cells.length;
var newTr = document.getElementById("empTable").insertRow();
for(var i=0 ; i<tdlength;i++){ var newtd = newTr.insertCell();
newtd.innerHTML = demotr.cells(i).innerHTML;
newtd.align = "center";
}
}
</script>

</head>
<body>
<form method="post" action="22.asp" >
<a href="javascript:void(0)" onclick="addRow();">添加</a>
<table class="Tab" id="empTable" width="700px" >
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
<td>f</td>
<td>g</td>
</tr>
<tr id="demoRow" >
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="a" > </td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="b" > </td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="c" ></td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="d" > </td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="e" > </td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="f" ></td>
<td align="center"><input type="text" style="width:100px;background-color:#FFFFFF;border:0 solid #FFFFFF" name="g" ></td>

</tr>
<input type="submit" value="发送">
</table>
</form>

</body>
</html>

这样子 怎么从第二章页面接受并存入数据库啊 一个inputtext文本框 存一个字段 一行就是数据库里一行
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssh78 2009-11-27
  • 打赏
  • 举报
回复
第二个插入数据页面
aitems=split(request("aitem1"),", ")
anums=split(request("anum1"),", ")
。。。。。。。
for i=0 to ubound(aitems)
取anums(i)即可
next
ssh78 2009-11-27
  • 打赏
  • 举报
回复
页面两个表格,一个是你的demo,在这个table里有用户填的数据,和添加按钮。在另一个表格里,只有表头和最后提交按钮行,给这个表格起个id,用来动态生成行
点击添加按钮,触发javascript方法,通过id取得第二个表格,动态生成表格其他行和其中的数据(其中的数据是从demo表格里得来的),然后每一行中还要有删除按钮,用来删除该行。
最后点击提交按钮,来提交数据。
提交数据,你可以在动态生成每行时,给每行同一个控件(type="hidden")起相同的name,第二个页面用
request得到字符串,然后用split(str,', ')得到数组,通过数组循环插入数据。另外要控制第二个表格里没有数据时不能提交
给你个例子,是我自己的

第一个表格里添加按钮<input name="cmdb" value="增加" type="button" onClick="addtr();" />
第二个表格
<table class="List-Table-Bigest" id="listtb">
<tr class="ListDescription-TdCN">
<td>部门</td>
<td>分部门</td>
<td>记账公司</td>
<td>项目</td>

<td>经办人</td>
<td>发生日期</td>
<td>金额</td>
<td>说明</td>
<td>操作</td>
</tr>
<tr>
<td colspan="10"><input name="cmdb" value="确定" type="submit" onClick="return checkajust()" /></td>
</tr>
</table>

addtr方法:
<script language="javascript">
function checkajust()
{
if(document.getElementById('listtb').rows.length<=2)
{
alert("还没有费用明细");
return false
}



}
var i=0;

function addtr()
{
if(document.reiform.subbumen0.value=='')
{
alert('请选择分部门');
document.reiform.subbumen0.focus();
return false
}
if(document.reiform.reicorp0.value=='')
{
alert('请选择记账公司');
document.reiform.reicorp0.focus();
return false
}
if(document.reiform.aitem0.value=='')
{
alert('请选择项目');
document.reiform.aitem0.focus();
return false
}

if(document.reiform.acc_man0.value=='')
{
alert('请输入经办人');
document.reiform.acc_man0.focus();
return false
}
if(document.reiform.date0.value=='')
{
alert('请输入发生日期');
document.reiform.date0.focus();
return false
}
if(/^(([1-9]\d*)|0)(\.\d{1,2})?$/.test(document.reiform.anum0.value))
{
if(document.reiform.anum0.value==''||parseFloat(document.reiform.anum0.value)==0)
{
alert('金额不能为0');
document.reiform.anum0.focus();
return false
}
}
else
{
alert("金额格式不对,小数两位,不允许负数");

document.reiform.anum0.focus();
return false
}
if(document.reiform.abas0.value=='')
{
alert('请输入说明');
document.reiform.abas0.focus();
return false
}
if (i<9)
{

var x=document.getElementById('listtb').insertRow(i+1);
x.className="ListValue-TdCN";
var h1=x.insertCell(0);
var h2=x.insertCell(1);
var h3=x.insertCell(2);
var h4=x.insertCell(3);

var h5=x.insertCell(5);
var h6=x.insertCell(6);
var h7=x.insertCell(7);
var h8=x.insertCell(8);
var h9=x.insertCell(9);


h1.innerHTML=document.reiform.bumen0.value;
h2.innerHTML=" <input name='subbumen1' type='hidden' size='10' value='"+document.reiform.subbumen0.value+"'/>"+document.reiform.subbumen0.options[document.reiform.subbumen0.selectedIndex].text;
h3.innerHTML=" <input name='reicorp1' type='hidden' size='10' value='"+document.reiform.reicorp0.value+"'/>"+document.reiform.reicorp0.options[document.reiform.reicorp0.selectedIndex].text;
h4.innerHTML=" <input name='aitem1' type='hidden' size='10' value='"+document.reiform.aitem0.value+"'/>"+document.reiform.aitem0.options[document.reiform.aitem0.selectedIndex].text;

h5.innerHTML=" <input name='acc_man1' type='hidden' size='10' value='"+document.reiform.acc_man0.value+"'/>"+document.reiform.acc_man0.value;
h6.innerHTML=" <input name='date1' type='hidden' size='10' value='"+document.reiform.date0.value+"'/>"+document.reiform.date0.value;
h7.style.textAlign='right';
h7.innerHTML=" <input name='anum1' type='hidden' size='10' value='"+document.reiform.anum0.value+"'/>"+document.reiform.anum0.value;
h8.innerHTML=" <input name='abas1' type='hidden' size='10' value='"+document.reiform.abas0.value+"'/>"+document.reiform.abas0.value;
h9.innerHTML="<input name='cmdb' value='删除' type='button' onClick='deltr(this)' />";

i=i+1;
}
else
{
alert("最多10行");
}

}
function deltr(obj)
{
j=obj.parentElement.parentElement.rowIndex
//alert(j)
var tbl=document.getElementById('listtb');
tbl.deleteRow(j);
i=i-1;

}
</script>
summily 2009-11-27
  • 打赏
  • 举报
回复
mark
summily 2009-11-27
  • 打赏
  • 举报
回复
mark

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧