网上找了段代码,可以对一个文本框进行加减计数。现在问题是有多个文本框,要求是鼠标选中某个文本框,点击“加”、“减”按钮,可对其进行加减计数,其它文本框值不变,怎么实现呢?<script language="javascript"> 
var flag1=0; 
var flag2=0; 
 
function NumberInc() 

if(flag1==1 && flag2==1) 
{alert("Error!");} 
else 

if(flag1==1) 

document.all.TextBox1.value++; 
setTimeout("NumberInc()",100); 

if(flag2==1) 

document.all.TextBox1.value--;
setTimeout("NumberInc()",100); 


function md(obj) 

if(obj.id=="Button1") flag1=1; 
if(obj.id=="Button2") flag2=1; 
NumberInc(); 

function mo(obj) 

if(obj.id=="Button1") flag1=0; 
if(obj.id=="Button2") flag2=0; 

}
</script> <form name="form1" runat=server> 
<input type="button" ID="Button1" value="+" onMouseDown="md(this)" onMouseOut="mo(this)" onMouseUp="mo(this)" >
<input type="button" ID="Button2" value="-" onMouseDown="md(this)" onMouseOut="mo(this)" onMouseUp="mo(this)" > 
<p>
<input id="TextBox1" runat="server" Width="10" CssClass="mybutton" Text=0> 
</form> 

解决方案 »

  1.   

    <!DOCTYPE html>
    <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>test</title>
        <script type="text/javascript" src="jquery.js"></script>
        </head>
        <body>
    <form name="form1" runat=server>  
    <div>
    <input type="button" ID="Button1" value="+"/>
    <input type="button" ID="Button2" value="-"/>  
    </div>
    <input id="TextBox1" value='0' class="textbox"/>
    <input id="TextBox2" value='0' class="textbox"/>
    </form>
    <script type="text/javascript">
    var el;
    document.getElementById('TextBox1').onfocus = function(){
    el = this;
    }
    document.getElementById('TextBox2').onfocus = function(){
    el = this;
    }
    document.getElementById('Button1').onclick = function(){
    if(el){
    el.value++;
    }else{
    alert('请先选择文本框!');
    }
    }
    document.getElementById('Button2').onclick = function(){
    if(el){
    el.value--;
    }else{
    alert('Please select a testbox!');
    }
    }
    </script>
    </body>
    </html>
      

  2.   


    <script type="text/javascript"> 
    var flag1=0; 
    var flag2=0; 
     
    function NumberInc() 

    if(flag1==1 && flag2==1) 
    {alert("Error!");} 
    else 

    if(flag1==1) 

    var box = document.getElementById('TextBox1');
    var num = ++box.value; 
    box.value = num;setTimeout(NumberInc,100); 

    if(flag2==1) 

    var box = document.getElementById('TextBox1');
    var num = --box.value; 
    box.value = num;
    setTimeout(NumberInc,100); 


    }function md(obj) 

    if(obj.id=="Button1") flag1=1; 
    if(obj.id=="Button2") flag2=1; 
    NumberInc(); 
    } function mo(obj) 

    if(obj.id=="Button1") flag1=0; 
    if(obj.id=="Button2") flag2=0; 
    } </script> 不知道这是不是你要的效果
      

  3.   


    因为文本框太多,有没有办法用循环?我改成
    for (i = 1; i <= 2; i++){
    document.getElementById('TextBox'&i).onfocus = function(){
                    el = this;
                }好像就不行了吗,是什么原因啊?
      

  4.   

    分都不给,都不太想回答你的问题了。。
    字符拼接是 'TextBox' + i不是'TextBox'&i。。