textbox输入问题 如何才能才textbox中输入数字时就成为金额样式##,###,###.##这种样式。是在asp.net中因为textchange需要像服务器端提交,但是这是要在textbox失去焦点时才能触发,而我是想实时显示金额样式。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所以要用js实现,js有个onchange事件 <SCRIPT LANGUAGE="JavaScript"><!--function formatNum(obj){ obj.value=obj.value.replace(",",""); if(isNaN(obj.value)) { alert('请填写数字!'); } else { if(obj.value.split(".").length>1)//带小数点的 { var n1=obj.value.split(".")[0]; var n2=obj.value.split(".")[1].substring(0,2); if(n1>3) { var tempStr=""; var arr=new Array(); var j=0; for(i=0;i<n1.length;i+=3) { arr[j] = n1.substring(n1.length-(i+3),n1.length-i);j++ } tempStr = arr.reverse(); obj.value=tempStr+"."+n2; } } else//不带小数点的 { var n1=obj.value; if(n1>3) { var tempStr=""; var arr=new Array(); var j=0; for(i=0;i<n1.length;i+=3) { arr[j] = n1.substring(n1.length-(i+3),n1.length-i);j++ } tempStr = arr.reverse(); obj.value=tempStr; } } }}//--></SCRIPT><FORM name=form1 METHOD=POST ACTION=""><INPUT TYPE="text" NAME="txt1" onblur="formatNum(this);"></FORM>好久没写js了累死老夫 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> function setTextValue(txtID) { var txt = document.getElementById(txtID); if(txt != null) { var result = ""; var txtValue = txt.value; if(txtValue.length > 3) { txtValue = txtValue.replace(/,/,""); var mod = txtValue.length % 3; var prefix = txtValue.substring(0,mod); var postfix = txtValue.substring(mod,txtValue.length); for(var i = 0;i < postfix.length;i++) { if((i + 1) % 3 == 0 && (i != postfix.length - 1) ) { result += postfix.substring(0,i + 1) + "," ; postfix = postfix.substring(i + 1,postfix.length); } } if(prefix =="") txt.value = result + postfix; else txt.value = prefix + "," + result + postfix; } } } </script></head><body > <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server" onblur = "setTextValue(this.id)"></asp:TextBox> </form></body></html>楼主,看看,不知道能否满足你的要求 不错不错。 http://forum.csdn.net/PointForum/Forum/ReplyTopic.aspx?forumID=3036657c-277c-476c-982d-75f154e09050&topicID=88116a8f-816a-42db-a084-5c455855d2c0&postDate=2008-6-20+11%3a46%3a43[size=18px]回复内容太短了![/size] 实在不好意思,中午的时候神志不清,搂主被忽悠了一把,哈哈~这不,我赶快把手里的活做完,就立马又修改了方法,给搂主<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> function setTextValue(txtID) { var txt = document.getElementById(txtID); if(txt != null) { var result = ""; var intPart = ""; var decimalPart = ""; var txtValue = txt.value; if(!isNaN(txtValue)) { if(txtValue.indexOf(".") == -1) intPart = txtValue; else { var arraySplit = txtValue.split("."); intPart = arraySplit[0]; decimalPart = arraySplit[1]; } if(intPart.length > 3) { intPart = intPart.replace(/\,/g,""); var mod = intPart.length % 3; var prefix = intPart.substring(0,mod); var postfix = intPart.substring(mod,intPart.length); var sign = 0; while(postfix.length > 3) { sign ++; if(sign % 3 == 0) { result += postfix.substring(0,3) + "," ; postfix = postfix.substring(3,postfix.length); sign = 0; } } if(prefix =="") result = result + postfix; else result = prefix + "," + result + postfix; if(decimalPart != "") result += "." + decimalPart; txt.value = result; } } } } </script></head><body > <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server" onblur = "setTextValue(this.id)"></asp:TextBox> <span id="spn"></span> </form></body></html> 这些都不对呀,都是要失去焦点才可以转成金额样式.如果是那样的话直接用ontextchanged不就行了么!!有没有高手指点一下呀!!! 把textbox的 aotopostback属性设成true 试试 自动生成fileuload控件!! datalist分页问题~~菜鸟虚心请教 ASP.NET WEB 应用程序对程序集的引用信息保存在哪里? 难道真的没人能解决吗????? 把Word文档读入到sqlserver中,怎样从库里读出来,然后显示在FreeTextBox中或其他控件中(急) Ajax 传输的最大字数有限制吗? 100分求解 高手来看看顶者有分!!!! asp.net wap开发 怎么设置手机左右软按键? 数值 在ASP.NET页面中实现数据棒图的例子大家试过了吗? Panel宽度的问题 奇怪问题,百思不得其解。
<!--
function formatNum(obj)
{
obj.value=obj.value.replace(",","");
if(isNaN(obj.value))
{
alert('请填写数字!');
}
else
{
if(obj.value.split(".").length>1)//带小数点的
{
var n1=obj.value.split(".")[0];
var n2=obj.value.split(".")[1].substring(0,2);
if(n1>3)
{
var tempStr="";
var arr=new Array();
var j=0;
for(i=0;i<n1.length;i+=3)
{
arr[j] = n1.substring(n1.length-(i+3),n1.length-i);j++
}
tempStr = arr.reverse();
obj.value=tempStr+"."+n2;
}
}
else//不带小数点的
{
var n1=obj.value;
if(n1>3)
{
var tempStr="";
var arr=new Array();
var j=0;
for(i=0;i<n1.length;i+=3)
{
arr[j] = n1.substring(n1.length-(i+3),n1.length-i);j++
}
tempStr = arr.reverse();
obj.value=tempStr;
}
}
}
}
//-->
</SCRIPT>
<FORM name=form1 METHOD=POST ACTION="">
<INPUT TYPE="text" NAME="txt1" onblur="formatNum(this);">
</FORM>
好久没写js了累死老夫
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function setTextValue(txtID)
{
var txt = document.getElementById(txtID);
if(txt != null)
{
var result = "";
var txtValue = txt.value;
if(txtValue.length > 3)
{
txtValue = txtValue.replace(/,/,"");
var mod = txtValue.length % 3;
var prefix = txtValue.substring(0,mod);
var postfix = txtValue.substring(mod,txtValue.length);
for(var i = 0;i < postfix.length;i++)
{
if((i + 1) % 3 == 0 && (i != postfix.length - 1) )
{
result += postfix.substring(0,i + 1) + "," ;
postfix = postfix.substring(i + 1,postfix.length);
}
}
if(prefix =="")
txt.value = result + postfix;
else
txt.value = prefix + "," + result + postfix;
}
}
}
</script>
</head>
<body >
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" onblur = "setTextValue(this.id)"></asp:TextBox>
</form>
</body>
</html>楼主,看看,不知道能否满足你的要求
http://forum.csdn.net/PointForum/Forum/ReplyTopic.aspx?forumID=3036657c-277c-476c-982d-75f154e09050&topicID=88116a8f-816a-42db-a084-5c455855d2c0&postDate=2008-6-20+11%3a46%3a43[size=18px]回复内容太短了![/size]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function setTextValue(txtID)
{
var txt = document.getElementById(txtID);
if(txt != null)
{
var result = "";
var intPart = "";
var decimalPart = "";
var txtValue = txt.value;
if(!isNaN(txtValue))
{
if(txtValue.indexOf(".") == -1)
intPart = txtValue;
else
{
var arraySplit = txtValue.split(".");
intPart = arraySplit[0];
decimalPart = arraySplit[1];
}
if(intPart.length > 3)
{
intPart = intPart.replace(/\,/g,"");
var mod = intPart.length % 3;
var prefix = intPart.substring(0,mod);
var postfix = intPart.substring(mod,intPart.length);
var sign = 0;
while(postfix.length > 3)
{
sign ++;
if(sign % 3 == 0)
{
result += postfix.substring(0,3) + "," ;
postfix = postfix.substring(3,postfix.length);
sign = 0;
}
}
if(prefix =="")
result = result + postfix;
else
result = prefix + "," + result + postfix;
if(decimalPart != "")
result += "." + decimalPart;
txt.value = result;
}
}
}
}
</script>
</head>
<body >
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" onblur = "setTextValue(this.id)"></asp:TextBox>
<span id="spn"></span>
</form>
</body>
</html>
有没有高手指点一下呀!!!