tempad
Readygo技术搜索引擎 >>软件工程 >> 搞稿喔!才送出的 100 分,再送 100 分,对昨天问题的补充 居然会这样??!!晕倒~~~ TO: hehongyu2000(Henry)

搞稿喔!才送出的 100 分,再送 100 分,对昨天问题的补充 居然会这样??!!晕倒~~~ TO: hehongyu2000(Henry)

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 7:17:09

搞稿喔!才送出的 100 分,再送 100 分,对昨天问题的补充 居然会这样??!!晕倒~~~ TO: hehongyu2000(Henry)

楼主feeling()2001-11-18 20:15:02 在 Web 开发 / ASP 提问

以下是昨天的问题  
  ----------------------------------------------------------  
  四个框<input>   第一个输入五位数后,焦点移到下一个框,如此……    
  ----------------------------------------------------------  
  以下是今天的回复  
   
  n个text框的解决方案:  
   
  <HTML>  
  <HEAD>  
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">  
  <TITLE></TITLE>  
  </HEAD>  
  <Script   Language="JavaScript">  
  function   move(v_objText)   {  
  if   (v_objText.value.length   >=   5)   {  
  var   objElement,   blnFound;  
  objElement   =   document.all;  
  blnFound   =   false;  
  while   ("object"   ==   typeof(objElement)   &&   !blnFound)   {  
  if   ("text"   ==   objElement.type)   {  
  objElement.focus();  
  blnFound   =   true;  
  }  
  else   {  
  objElement   =   document.all;  
  }  
  }  
  }  
  }  
  </Script>  
  <BODY>  
   
  <P>&nbsp;</P>  
  <form   name="form1">  
  <p><input   type="text"   name="text1"   onKeyDown="move(this);"></p>  
  <p><input   type="text"   name="text2"   onKeyDown="move(this);"></p>  
  <p><input   type="text"   name="text3"   onKeyDown="move(this);"></p>  
  <p><input   type="text"   name="text4"   onKeyDown="move(this);"></p>  
  </form>  
   
  </BODY>  
  </HTML>  
   
  ---------------------------------以下是今天我的问题。  
  -----------------------------------------------------------------  
  输入数据要是划了,如何回头来改呢,你们有试过吗,居然删都删不掉,改也没有可能,这是怎么回事。数据填到<INPUT>   当中,至少是能改的呀。居然改都改不了,删除的时候也有问题。把后面的删了,前面的居然删不了。  
   
  帮忙解决。……   谢了!  
  问题点数:100、回复次数:12Top

1 楼beyond_xiruo(CorruptionException)回复于 2001-11-18 20:34:17 得分 0

行呀Top

2 楼shenjingyao(e豆)回复于 2001-11-18 20:48:25 得分 0

啊呀,奇了怪了,等我再仔细瞧瞧:)Top

3 楼feeling()回复于 2001-11-19 07:30:50 得分 0

行啥!   试一下咯,不行撒Top

4 楼hvq(程序员.net)回复于 2001-11-19 08:51:24 得分 0

  这个问题好解决:  
  <SCRIPT     LANGUAGE=javascript>  
  function   changeFocus(obj1,obj2)   {  
  if(obj1.value.length!=5)     return;  
  obj2.focus();  
  }  
  </SCRIPT>  
   
  <p><input   type="text"   name="text1"   onpropertychange="changeFocus(this,text2)"></p>  
  <p><input   type="text"   name="text2"></p>  
  Top

5 楼hehongyu2000(Henry)回复于 2001-11-19 09:24:00 得分 0

Sorry,   feeling兄,  
  修正版:  
  <SCRIPT     LANGUAGE=javascript>  
  function   changeFocus(obj1,obj2)   {  
  if(obj1.value.length!=5)     return;  
  obj2.focus();  
  }  
  </SCRIPT>  
   
  <p><input   type="text"   name="text1"   onpropertychange="changeFocus(this,text2)"></p>  
  <p><input   type="text"   name="text2"></p>  
  Top

6 楼hehongyu2000(Henry)回复于 2001-11-19 09:34:22 得分 0

Sorry,   Copy&Paste错误,  
  修正版:  
  <HTML>  
  <HEAD>  
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">  
  <TITLE></TITLE>  
  </HEAD>  
  <Script   Language="JavaScript">  
  function   move(v_objText)   {  
  if   (v_objText.value.length   >=   4)   {  
  var   objElement,   blnFound;  
  if   (v_objText.value.length   <=   4)   {  
  v_objText.value   =   v_objText.value   +   String.fromCharCode(window.event.keyCode);  
  window.event.returnValue   =   false;  
  }  
  else   {  
  window.event.returnValue   =   false;  
  }  
  objElement   =   document.all;  
  blnFound   =   false;  
  while   ("object"   ==   typeof(objElement)   &&   !blnFound)   {  
  if   ("text"   ==   objElement.type)   {  
  objElement.focus();  
  blnFound   =   true;  
  }  
  else   {  
  objElement   =   document.all;  
  }  
  }  
  }  
  }  
  </Script>  
  <BODY>  
  <a   href="excel.xls">EXCEL</a>  
  <P>&nbsp;</P>  
  <form   name="form1">  
  <p><input   type="text"   name="text1"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text2"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text3"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text4"   onKeyPress="move(this);"></p>  
  </form>  
   
  </BODY>  
  </HTML>  
  Top

7 楼feeling()回复于 2001-11-20 11:35:04 得分 0

还是有问题呀,我可以删,但如何改呢,比如当你把字母打进去以后,发现错了,改不起来,不信就试试,一改,就把后面的改了。Top

8 楼feeling()回复于 2001-11-20 19:09:37 得分 0

up   !Top

9 楼hehongyu2000(Henry)回复于 2001-11-20 23:00:37 得分 0

啊,   sorry,   又有bug.   好,   在改动之前,   我先做一些requirement分析,  
  如有不对,   请指出:  
  1.   有四个text框.(可延伸到n个text框)  
  2.   每个text框只能输入5个合法字符,   阻止user输入超过5个字符.  
  3.   在第i个text框输入总数达到5个字符时,   光标跳到第i   +   1个text框   (1   <=   i   <=   3)  
  4.   User会对已输入完成的第i个text框内容进行修改.  
        a.   先删除再输入,   此时会按照第3条运作.  
        b.   在第j个位置直接输入,   此时会用输入字符向后挤,   将最后一个字符挤掉,   并且光标会自动跳到第i   +   1个输入框   (1   <=   j   <=5)  
        c.   在末尾输入,   user得不到任何输入,   并且光标跳到第i   +   1个输入框.  
   
  一下是我根据以上的requirement进行的修改:  
  <HTML>  
  <HEAD>  
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">  
  <TITLE></TITLE>  
  </HEAD>  
  <Script   Language="JavaScript">  
  function   move(v_objText)   {  
  if   (v_objText.value.length   >=   5)   {  
  var   objElement,   blnFound;  
  if   (v_objText.value.length   >   5)   {  
  v_objText.value   =   v_objText.value.substring(0,   5);  
  }  
  objElement   =   document.all;  
  blnFound   =   false;  
  while   ("object"   ==   typeof(objElement)   &&   !blnFound)   {  
  if   ("text"   ==   objElement.type)   {  
  objElement.focus();  
  blnFound   =   true;  
  }  
  else   {  
  objElement   =   document.all;  
  }  
  }  
  }  
  }  
  </Script>  
  <BODY>  
  <P>&nbsp;</P>  
  <form   name="form1">  
  <p><input   type="text"   name="text1"   onPropertyChange="move(this);"></p>  
  <p><input   type="text"   name="text2"   onPropertyChange="move(this);"></p>  
  <p><input   type="text"   name="text3"   onPropertyChange="move(this);"></p>  
  <p><input   type="text"   name="text4"   onPropertyChange="move(this);"></p>  
  </form>  
   
  </BODY>  
  </HTML>  
   
   
   
  Top

10 楼feeling()回复于 2001-11-21 02:57:05 得分 0

呵呵…!   还是有问题题   ,这回连浏览器都自动关掉了。  
  我输入超过五个字符就………  
   
  我记得以前我问这个问题,现在找不到了,以前的密码给忘了。  
  以前别人给我的答复好像很好用的样子。  
   
  实在不行,我就会将就着用这个了。Top

11 楼xunzu(过客)回复于 2001-11-21 06:39:29 得分 0

关注Top

12 楼hehongyu2000(Henry)回复于 2001-11-21 22:38:19 得分 100

好象  
  v_objText.value   =   v_objText.value.substring(0,   5);  
  在onPropertyChange时会造成browser崩溃,   我想是陷入死循环的原因.  
  我又修改了一次,   requirement与上次一样,   Please   try   it,   thanks.  
  ---------------------------------------------------------------------  
  <HTML>  
  <HEAD>  
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">  
  <TITLE></TITLE>  
  </HEAD>  
  <Script   Language="JavaScript">  
  function   move(v_objText)   {  
  if   (v_objText.value.length   >=   4)   {  
  //Set   current   input  
  document.selection.createRange().text   =   String.fromCharCode(window.event.keyCode);    
  window.event.returnValue   =   false;    
   
   
  if   (v_objText.value.length   >=   5)   {  
  var   objElement,   blnFound;  
  v_objText.value   =   v_objText.value.substring(0,   5);  
   
  //Looking   and   jump   to   next   text   box  
  objElement   =   document.all;  
  blnFound   =   false;  
  while   ("object"   ==   typeof(objElement)   &&   !blnFound)   {  
  if   ("text"   ==   objElement.type)   {  
  objElement.focus();  
  blnFound   =   true;  
  }  
  else   {  
  objElement   =   document.all;  
  }  
  }  
  }  
  }  
  }  
  </Script>  
  <BODY>  
  <P>&nbsp;</P>  
  <form   name="form1">  
  <p><input   type="text"   name="text1"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text2"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text3"   onKeyPress="move(this);"></p>  
  <p><input   type="text"   name="text4"   onKeyPress="move(this);"></p>  
  </form>  
   
  </BODY>  
  </HTML>  
   
   
   
  Top

责任编辑: efish 参与评论 查找更多:
相关文章
高分求Together Control Center 6 和 XMLSPY 5 的注… 高分求Together Control Center 6 和 XMLSPY 5 的注册机!
Linux 下的软件开发工程师了有吗? Linux 下的软件开发工程师了有吗?
objClass.ExecMethod_ 如何使用 objClass.ExecMethod_ 如何使用
初学者的问题:编写记事本的问题,向各位请教? 初学者的问题:编写记事本的问题,向各位请教?
请兄弟们推荐给我一本好的英语口书~! 请兄弟们推荐给我一本好的英语口书~!
如何将Excel中的数据导入到SQL Server2000中去? 如何将Excel中的数据导入到SQL Server2000中去?
如何给DBF建立Foxbase的IDX文件 如何给DBF建立Foxbase的IDX文件
vb里如何将一个文件拷贝至另外一个目录下,能改名字… vb里如何将一个文件拷贝至另外一个目录下,能改名字更好,在线等
紧急招聘VB程序员! 紧急招聘VB程序员!
主窗体Close后,怎么任务栏上还有图标? 主窗体Close后,怎么任务栏上还有图标?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎