最后90分求高手帮忙改一个JS!

luxuezhu 2003-06-12 11:57:17
大家看看这个:
http://www.baron.com.cn/javascript/skill/20030504skill2.htm

我想把他改为EXCEL中的那种加分隔符号的效果
111222333.12 ---111,222,333.12
11122.1 ---- 11,122.10
1 --1.00
请各位帮忙啦!!
...全文
73 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
luxuezhu 2003-06-15
  • 打赏
  • 举报
回复
补充一下,我的意思是经过onpropertyChange处理后,lrqm_2.value又变为了一个不是浮点的数值,也就是第二个文本框显示的是一个111222333.11的值,
我怎么能够象第一个文本框用类似
onKeyDown="javascript:return myFilter(event.keyCode, this);"
的代码处理呢?
luxuezhu 2003-06-14
  • 打赏
  • 举报
回复
to:zhangZhongYu(只是为了玩)
比如我有两个文本框,第二个从第一个中得到值11111222
我用什么事件出发你的那个JS呢?
<input class=inpu type="text" onKeyDown="javascript:return myFilter(event.keyCode, this);" name="lrby_1" size="30" maxlength="20" onpropertyChange='lrqm_2.value=parseFloat(((lrby_1.value.replace(",","")).replace(",","")).replace(",",""))+2'>

<input class=inpu type="text" ondragleave="javascript:return myFilter(lrqm_2.value, this);" name="lrqm_2" size="30" maxlength="20" readonly>

请帮忙改一下!
ondragleave="javascript:return myFilter(lrqm_2.value, this);"
这句该怎么改呢??!
luxuezhu 2003-06-13
  • 打赏
  • 举报
回复
up
seabell 2003-06-13
  • 打赏
  • 举报
回复
取右边文本框realdata的值放到数据库
luxuezhu 2003-06-13
  • 打赏
  • 举报
回复
zhangZhongYu(只是为了玩) 的代码加上http://www.baron.com.cn/javascript/skill/20030504skill2.htm
的SCRIPT
倒是可以实现这样的功能,边在文本框内输入,同一文本框内立即显示,
但是,我传到数据库里面的时候,却是处理后的数据122,222.2的逗号前的122
MYSQL里面设为double(18,2)
我怎么能提到我录入时的122222这个值呢??!
还请各位帮忙
fason 2003-06-12
  • 打赏
  • 举报
回复
http://search.csdn.net/expert/topic/3/304/2002/8/30/983779.htm
emu 2003-06-12
  • 打赏
  • 举报
回复
sorry,if (isNaN(this)) return this;一句是多余的。原来是在定义String.prototype.comma 的时候用的。
emu 2003-06-12
  • 打赏
  • 举报
回复

String.prototype.reverse = function(){ return this.split("").reverse().join("")}
Number.prototype.comma = function(){
if (isNaN(this)) return this;
var ar=(Math.round(this*100)/100).toString().split(".");
ar[0] = ar[0].reverse().match(/\d{1,3}/g).join().reverse();
return ar.join(".");
}
alert((12345678.12345).comma())
emu 2003-06-12
  • 打赏
  • 举报
回复
呜呜,归档后这篇帖子搞丢了:《用逗号格式化浮点数》

http://search.csdn.net/expert/topic/3/304/2002/12/26/1301353.htm

搜得到,就是打不开,谁知道怎么弄回来?
搞搞儿的 2003-06-12
  • 打赏
  • 举报
回复
<script>
function myFilter(k, o) {

if (k==9||k==13||k==144||k==37||k==39||k==67||k==86||k==88||k==190||k==110) {
return true;
}
if (k==8) { // backSpace
return true;
}
else {if (k == 46) { // delete

return true;

}
else {if ((k>47&&k<58)||(k>95&&k<106)) { // digit
var oldV = replace(o.value, ",", "");
if (k<58) {oldV += "" + (k-48);}
else {oldV += "" + (k-96);}
var newV = "";
var i = oldV.lastIndexOf(".");
if (i >= 0) {newV = oldV.substring(i); oldV = oldV.substring(0,i);}
var j = 0;
for (i=oldV.length-1; i>0; i--) {
newV = oldV.charAt(i) + newV;
j++;
if (j==3) {j=0; newV = "," + newV;}
}
if (oldV.length>0) {newV = oldV.charAt(0) + newV;}
o.value = newV;
}
}
}
return false;
}
</script>

输入数字:<input type="text" onKeyDown="javascript:return myFilter(event.keyCode, this);" size=60>
seabell 2003-06-12
  • 打赏
  • 举报
回复
可以取右边文本框realdata的值,也可以取左边mytext值
<script>
function formatdata(obj)
{
datastr=obj.value.replace(/,/g,"").Trim();
if(datastr!="")
{
datastr=datastr.split(".");
if(datastr.length==2)
{
temp="."+datastr[1];
if(temp.length<3)
temp=temp+"0";
else
temp=temp.substring(0,3);
}
else
temp=".00";

i=datastr[0].length;
if(datastr[0].length>3)
{
for(i=datastr[0].length;i>3;i=i-3)
{
temp=","+datastr[0].substring(i-3,i)+temp;
}
}
temp=datastr[0].substring(0,i)+temp;
}
else
temp="";
document.all.mytext.value=temp;
document.all.realdata.value=temp.replace(/,/g,"");
}
function String.prototype.Trim()
{
return this.replace(/(^\s*)|(\s*$)/g,"");
}
var timer=null;
function check(uid)
{
var obj=document.all(uid);str=obj.value.replace(/,/g,"");
if(isNaN(str))
obj.value=obj.value.slice(0,-1);
else
formatdata(obj);
timer=setTimeout("check('"+uid+"')",1000);
}
function myclear(){
clearTimeout(timer)
}
</script>
<input name=mytext onfocus=check(this.uniqueID) onblur=myclear()>
<input type=text name=realdata>
ggdw 2003-06-12
  • 打赏
  • 举报
回复
http://search.csdn.net/expert/topic/3/304/2002/8/30/983779.htm
luxuezhu 2003-06-12
  • 打赏
  • 举报
回复
to: fason(阿信)
我要的是在文本框中边输入,文本框内边显示!

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧