<html>
<head></head><body >
<table border="1" width="400" cellpadding="0" cellspacing="0" id="tb1">
 <tr>
  <td align="center">产品</td>
   <td align="center">描述</td>
    <td align="center">数量</td>
 <td align="center">输入</td>
 </tr>
  <tr>
  <td align="center">1</td>
   <td align="center">不烦</td>
    <td align="center">100</td>
 <td align="center"><input type="text" id="txt1" name="txt1" size="12" onkeypress="checkValue(this)"></td>
 </tr>
   <tr>
  <td align="center">2</td>
   <td align="center">女的?</td>
    <td align="center">200</td>
 <td align="center"><input type="text" id="txt2" name="txt2" size="12" onkeypress="checkValue(this)"></td>
 </tr>
</table>
<script >
function checkValue(obj){
if(event.keyCode==13){
if(obj.parentNode.previousSibling.previousSibling){
var i=obj.parentNode.previousSibling.innerText;
if((obj.value-0)<(i-0)){
var s=obj.parentNode.parentNode.cloneNode(true);
s.lastChild.innerHTML="<input type='text' size='12' id='txt99' onkeypress='checkValue(this)'>";
document.getElementById("tb1").lastChild.appendChild(s);
alert("还差"+((i-0)-(obj.value-0))+"没出口");
document.getElementById("txt99").focus();}
}
}
}
</script>
</body>
</html>把里面要从数据库里取出的数据替换掉
另注意:动态分配text的ID最后:以身相许,女的?
哈哈

解决方案 »

  1.   

    谢谢大虾
    功能是差不多了,不过要镶嵌再自己的javascript里面就烦了
    谢谢,我是男的,嘻嘻~~~
    来吧,我以身相许
      

  2.   

    二楼的朋友,你的代码没有达到我想要的要求啊
    第一:生成的行在表格的最后,没有在对应产品的下面
    第二:没有计算,如果我自己添加计算,应该怎么写呢?在html里面
    我用了两个for循环来控制表格以及数据显示
    在javascript里面,计算我也用了2个for循环来控制,
    这样,会不会有什么问题出现,不过我还是先试试
      

  3.   

    <html>
    <script>
    function InsertRow(obj)
    { if(event.keyCode==13)
    {
    reg=/^\d*$/
    if(!(reg.test(obj.value))){alert("输入错误:"+obj.value);return;}
    var v=parseInt(obj.value);
    if(!isNaN(v))
    {
    var tdnode=obj.parentNode;
    var trnode=tdnode.parentNode;
    var num = getProductNum(obj.name);
    if(v>num){alert("库存不足:"+num);return;};
    var trobj=trnode.parentNode.insertRow(trnode.rowIndex+1);
    trobj.name=trnode.name;
    for(var i=0; i < trnode.cells.length;i++)
    {
    var cobj=trobj.insertCell();
    cobj.innerHTML=trnode.cells[i].innerHTML;
    }
    trobj.cells[tdnode.cellIndex].previousSibling.innerText=num-v;
    trobj.cells[tdnode.cellIndex].firstChild.value="";
    trobj.cells[tdnode.cellIndex].firstChild.focus();
    }
    else {alert("输入错误:"+v);return;};
    }
    }function getProductNum(name)
    {
    var n=-1;
    var ar=document.getElementsByName(name);
    if(ar.length<=0)return n;
    for(var i=0;i < ar.length;i++)
     {
      var tn = parseInt(ar[i].parentNode.previousSibling.innerText);
      if(isNaN(tn))continue;
      if(n==-1)n=tn;
      else n=n>tn?tn:n;
     }
    return n==-1?0:n;
    }
    </script><body>
    <table align="center" border=1>
    <tr><td width="50">产品</td>       <td width="50">描述</td><td width="50">数量</td><td width="100">出口数量</td>   </tr>    
    <tr><td>1</td><td>烦啊</td><td>100</td><td><input name="pd1" onkeydown="InsertRow(this)"/></td></tr>  
    <tr><td>2</td><td>急啊</td><td>100</td><td><input name="pd2" onkeydown="InsertRow(this)"/></td></tr>  
    </table>
    </body>
    </html>
      

  4.   

    没有人是万能的,知识是无止境的
    在此,我向那些乐于助人的朋友表示衷心的感谢
    我刚接触asp这些,知道的还是远远不够,所以只能多多提问
    谢谢大家的帮忙,特别codeworker999这位朋友,写得很清楚,也达到了想要的效果
    谢谢大家。
    谢谢~~~