网上找了段代码,可以对一个文本框进行加减计数。现在问题是有多个文本框,要求是鼠标选中某个文本框,点击“加”、“减”按钮,可对其进行加减计数,其它文本框值不变,怎么实现呢?<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>
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>
解决方案 »
- jquery中的函数index和自定义的冲突怎么解决呢??
- window.opener.document.form1.xm1 xh .value=document.a1.a2.value;
- Ext饼图显示数值问题?
- JavaScript修改xml格式的字符串
- 这个问什么不能输出,谢谢蔡鸟
- 理论上,在javascript代码中,注释符 <!-- --> 会被识别成什么呀?
- 新手问 有关在线图像编辑的实现方法
- 如何把字符串"D$1,D$2,D$3,T$1001,T$1002,T$1003"分离成"1,2,3;1001,1002,1003"?
- windo.open 打开最大化的窗口 出现错误!
- Bootstrap 弹出框怎么设置为可拖动?
- FusionChartsV3 如何自动生成图片
- JS怎么在类实例的事件处理函数中访问类实例的成员
<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>
<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> 不知道这是不是你要的效果
因为文本框太多,有没有办法用循环?我改成
for (i = 1; i <= 2; i++){
document.getElementById('TextBox'&i).onfocus = function(){
el = this;
}好像就不行了吗,是什么原因啊?
字符拼接是 'TextBox' + i不是'TextBox'&i。。