CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

●想在text文本框中把","换成"|"?但onChange没效果?

楼主gdwebinfo3()2006-03-10 01:45:41 在 Web 开发 / JavaScript 提问

功能是:想把文本框中输入的文字通过   onChange   检测是否有",",如果有,就自动换成"|",但为什么用以下代码不行呢?  
   
  replacedou   函数应该没有问题,我测试了一下,可以替换的,但在   form   中通过onChange就不行了?请高手指点…  
   
  <script   language=javascript>  
          //   作用是把字符中的   ","   换成   "|"  
          function   replacedou(s)    
          {    
            var   i;    
            var   s2   =   s;    
             
            while(s2.indexOf(",")>0)    
            {    
                  i   =   s2.indexOf(",");    
                  s2   =   s2.substring(0,   i)   +   "|"   +   s2.substring(i   +   1,   s2.length);    
            }    
            return   s2;    
          }    
   
  </script>    
   
  <form   name="form">  
  <input   type=text   name="AC"   value=""   onChange="return   replacedou(this.value);">  
  <input   type=text   name="AB"   value=""   onChange="return   replacedou(this.value)">  
  <input   type=submit>  
  </form>  
  问题点数:20、回复次数:4Top

1 楼mingxuan3000(铭轩)回复于 2006-03-10 03:33:17 得分 10

function   replacedou(s)    
          {    
            var   i;    
            var   s2   =   s.value;    
             
            while(s2.indexOf(",")>0)    
            {    
   
   
                  i   =   s2.indexOf(",");    
                  s2   =   s2.substring(0,   i)   +   "|"   +   s2.substring(i   +   1,   s2.length);    
            }    
   
            s.value=s2;  
   
          }    
   
   
   
  <input   type=text   name="AC"   value=""   onChange="return   replacedou(this);">  
  <input   type=text   name="AB"   value=""   onChange="return   replacedou(this)">Top

2 楼ChinaMake2008(Notes)回复于 2006-03-10 08:31:20 得分 1

这个应该是只有手动变动才会又反应的~~~Top

3 楼manyou(他山之石【养万头猪,行万里路】)回复于 2006-03-10 08:38:12 得分 6

<script   language=javascript>  
          //   作用是把字符中的   ","   换成   "|"  
          function   replacedou(s)    
          {    
            var   i;    
            var   s2   =   s;    
             
            while(s2.indexOf(",")>0)    
            {    
                  i   =   s2.indexOf(",");    
                  s2   =   s2.substring(0,   i)   +   "|"   +   s2.substring(i   +   1,   s2.length);    
            }    
            return   s2;    
          }    
   
  </script>    
   
  <form   name="form">  
  <input   type=text   name="AC"   value=""   onkeyup="document.all.AC.value   =   replacedou(this.value)">  
  <input   type=text   name="AB"   value=""   onkeyup="document.all.AB.value   =   replacedou(this.value)">  
  <input   type=submit>  
  </form>Top

4 楼xuzuning(唠叨)回复于 2006-03-10 08:53:21 得分 3

1、onChange只在文本框失去焦点时被触发,按照你的需求应改用onKeyUp  
  2、onChange="return   replacedou(this.value);"的写法有问题  
  你使用return把结果返回到那里去了呢?  
  应写做this.value=replacedou(this.value);Top

相关问题

  • 关于text文本框的OnChange事件
  • 怎样把text文本框中的数字转换成money类型
  • text文本框的问题
  • TEXT文本框问题??
  • Text文本框有click()事件么?
  • text文本框如何禁用全角?
  • 下拉列表和文本框的OnChange事件
  • 如何 把<BR>字符串 替换成 回车 在文本框中显示
  • 文本框内容替换:半角符号替换成全角符号
  • 请问怎样将文本框中的内容转换成数字类型?

关键词

  • s2
  • 文本框
  • replacedou
  • onchange

得分解答快速导航

  • 帖主:gdwebinfo3
  • mingxuan3000
  • ChinaMake2008
  • manyou
  • xuzuning

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo