您现在的位置是:烟消火灭网 > 时尚
asp实现表格式录入
烟消火灭网2026-10-17 07:45:52【时尚】7人已围观
简介 姓名部门工资入职日期 张三销售部85002021-03-15 李四技术部120002019-07-01 上一段html表格,是我从一个老同事的ASP文件里抠出来的。他管这叫“表格式录入”页面——一
| 姓名 | 部门 | 工资 | 入职日期 |
|---|---|---|---|
| 张三 | 销售部 | 8500 | 2021-03-15 |
| 李四 | 技术部 | 12000 | 2019-07-01 |
" Next %> ``` 这里有个细节容易翻车。如果用户只填了第二行和第三行,第一行留空,ASP照样会把空字符串算进数组里。所以循环里得先判断Len(Trim(...)) > 0再写库,否则数据库里全是空记录。 实际项目里,表格式录入最常见的场景是批量录入成绩、库存盘点、或者订单明细。我之前给一家小工厂做过一个配件入库页面,他们每天要录几百条零件信息,用这种表格式页面,操作工能一次性粘贴Excel里的数据,再逐行检查修改,比一条条提交快了三倍。 但ASP写这个有个天生的毛病——没有ViewState,不像ASP.NET那样能记住行数。用户加了三行,填了一半,不小心点了提交但验证没过,页面刷新后所有行就消失了。要解决这个,得把已经填的值在服务端重新输出到表格里。做法是判断Request.Form("name")是否存在,然后循环生成行,再把值塞回input的value属性。代码会变得啰嗦,但能救回用户数据。 另一个细节是删除行。别光顾着加行,得给每行配个“删除”按钮。事件绑定别用onclick="deleteRow(this)"这种传this的,在IE里会报错。用行索引更稳: ```javascript function deleteRow(btn) { var row = btn.parentNode.parentNode; row.parentNode.removeChild(row); } ``` 最后提一句,现在都2025年了,要是新项目我不会选ASP。但老系统还在跑,改造成本高,所以这招儿还有用。真遇到性能问题,比如一次提交上千行,ASP循环写库会超时,那就得改用SQL批量插入或存储过程。不过那是另一个话题了。
很赞哦!(364)
上一篇: 测试平台
下一篇: 对公账户为涉案可疑账户怎么办







