<html>
<head>
<script language="JavaScript">
<!--
function calculate(val){
    var ar=val.split(" ");
    if(ar.length <2){alert("");return;}
    var idx = parseInt(ar[0],10);
    if(isNaN(idx)){alert("");return;}
    var num =  parseInt(ar[1],10);
    if(isNaN(num)){alert("");return;}
    var ipts = document.getElementById("divContainer").getElementsByTagName("input");
    var iptVal = parseInt(ipts[idx+1].value,10)||0;
    ipts[idx+1].value = iptVal + num;
}
window.onload=function(){
    document.getElementById("txtOp").onkeypress = function(){
        if(event.keyCode == 13)
            document.getElementById("btnOp").click();
    }
    document.getElementById("btnOp").onclick = function(){
        calculate(document.getElementById("txtOp").value);
    }}
//-->
</script>
</head>
<body>
<div id="divContainer">
<script language="JavaScript">
<!--
for(var i=0;i<99;i++)
    document.write("<input size='8'>")
//-->
</script>
</div>
请输入操作:<input type="text" id="txtOp"><input type="button" id="btnOp" value="计算">
</body>
</html>

解决方案 »

  1.   

    刚才的有错误,
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function calculate(val){
        var ar=val.split(" ");
        if(ar.length <2){alert("输入的表达式不合要求");return;}
        var idx = parseInt(ar[0],10);
        if(isNaN(idx)){alert("输入的序号非法");return;}
        if(idx<1 || idx > 99){alert("输入的序号超出范围");return;}
        var num =  parseInt(ar[1],10);
        if(isNaN(num)){alert("输入的数值非法");return;}
        var ipts = document.getElementById("divContainer").getElementsByTagName("input");
        var iptVal = parseInt(ipts[idx-1].value,10)||0;
        ipts[idx-1].value = iptVal + num;
    }
    window.onload=function(){
        document.getElementById("txtOp").onkeypress = function(){
            if(event.keyCode == 13)
                document.getElementById("btnOp").click();
        }
        document.getElementById("btnOp").onclick = function(){
            calculate(document.getElementById("txtOp").value);
        }}
    //-->
    </script>
    </head>
    <body>
    <div id="divContainer">
    <script language="JavaScript">
    <!--
    for(var i=0;i<99;i++)
        document.write("<input size='8' value='0'>")
    //-->
    </script>
    </div>
    请输入操作:<input type="text" id="txtOp" value="20 -20"><input type="button" id="btnOp" value="计算">
    </body>
    </html>
      

  2.   

    可以,但我感觉用空格更人性化一点,如果不用空格,就只能保证前两位是序号了文本框变空也可以,
    window.onload=function(){
        document.getElementById("txtOp").onkeypress = function(){
            if(event.keyCode == 13){
                document.getElementById("btnOp").click();
                this.value="";
                //I think better is
                this.select();
            }
        }