前言
首先,先上最终效果图:

那么,要是我的需求是用户输入,那么怎么实现输入数据,然后又以表格的形势来输出数据呢?
其实实现的代码很简单,且听我徐徐道来。
代码实现
首先就是先做CSS样式,把大概的样式先做出来,这样有利于我们后期写JS:

这个效果其实不难做,就是简单的表格代码,HTML代码:
<table> <tr> <th>编号</th> <th>名称</th> <th>Cata</th> <th>MDL</th> <th>价格</th> <th>库存</th> <th>图片</th> <th>购买</th> </tr> <tr> <td>001</td> <td>健胃消食片</td> <td>中药</td> <td>ss</td> <td>18</td> <td>309</td> <td>-</td> <td>购买</td> </tr> <tr> <td>002</td> <td>感冒灵</td> <td>中药</td> <td>sk</td> <td>78</td> <td>39</td> <td>-</td> <td>购买</td> </tr> </table>
复制

运行之后效果是这样的,这个时候还没有样式,所以我们需要调整一下样式,CSS代码:
table { font-size: 18px; border-collapse: collapse; width: 700px; height: 80px; margin: 0 auto; text-align: center; } th { /* 如果没有设置宽高,padding将无法使用 */ width: 100px; height: 68x; padding: 8px, 12px; background: yellowgreen; } table, th, td { border: 1px solid yellowgreen; }
复制
交互实现
前面的代码是不是特别简单呢?那么表格的大体内容我们是做出来了,剩下的就是做用户输入和输出了,也就是我们常说的交互效果,这部分就是JS内容了,其实整体也是蛮简单的,那么我们先整理一下思路。
首先是,我们得有输入,输入是什么?
prompt,要输入多少个?
上面的效果图数一数,一共8个,但是由于图片我们是无法输入的,所以我们可以把这栏去掉。然后就是我们如何进行输出的问题了,document.write(_)就刚好符合我的所有需求。
把这些想法整合一下,就可以得到下面的总结了:
首先是输入。输入很多时候是不止一次的,所以我们需要使用循环,那么我们怎么控制循环次数?一个很简单的方法就是,在进行内容输入之前,我们得先问用户要输入多少次。(虽然还有其它方法,但是我还没有学习到,所以暂时略过这部分,以后有机会补上)
其次就是内容存储了。既然输入不止一次,那么我们就得考虑怎么保存这些已经输入的数据,数组是我首先考虑到的,所以在输入之前,我们得先定义好数组。
输出表格。当用户完整了内容输入,我们就得开始输出数据了。
在大致确定了需求和步骤之后,我们就可以选词填空了,代码如下:
<script> let n = +prompt('请输入你要添加几个药品:') let num = [] let name = [] let cata = [] let MDL = [] let price = [] let left = [] for (let i = 0; i < n; i++) { alert(`第${i + 1}次输入:`) num[i] = prompt('编号:') name[i] = prompt('名称:') cata[i] = prompt('类别:') MDL[i] = prompt('MDL:') price[i] = +prompt('价格:') left[i] = +prompt('库存:') } document.write(` <table> <tr> <th>编号</th> <th>名称</th> <th>catalogno</th> <th>MDLNumber</th> <th>价格</th> <th>库存</th> <th>购买</th> </tr>` ) for (let i = 0; i < n; i++) { document.write(` <tr> <td>${num[i]}</td> <td>${name[i]}</td> <td>${cata[i]}</td> <td>${MDL[i]}</td> <td>${price[i]}</td> <td>${left[i]}</td> <td>购买</td> </tr>` ) } document.write(` </table > `) </script>
复制
然后我们运行一下,就可以实现这个效果啦。

总结盘算
为了让用户知道,现在输入的是第几次,我还进行了弹窗提示。
当然如果你输入数据出现错误,那么我们还应该进行一定的措施,比如说实现退出的代码,或者说,提供修改的代码,这部分先挖个坑,到时再来补。