RT,有三个textbox.(用javascript,纯js实现)用户在第一个textbox里输入数字,假如5555555,那就要实时的显示成5,555,555这样。第二个如第一个。第三个textbox是总和,用户输入完两个textbox第三个就要实时的显示总和。textbox的个数未知,求怎么实现。做的时候感觉显示成金额那个好点。就是实时显示总额那里,用户第一个输入111,第二个输入222,  那么总额是333  如果用户把第一个改为222呢?下午结贴。。饿了。 

解决方案 »

  1.   

    都说了3个textbox怎么又来个textbox个数未知
      

  2.   


    第一个<input name="in" onpropertychange="change(this)" /><br/>
    第二个<input name="in" onpropertychange="change(this)"/><br/>
    第三个<input name="in" onpropertychange="change(this)"/><br/>
    第四个<input name="in" onpropertychange="change(this)"/><br/>
    总和<input name="sum" readonly="true"/><br/>
    <script>
    function change(obj){
    var num=obj.value.replace(/\D/g,"");
    var re = /(\d+)(\d{3})/;
        while(re.test(num)) num = num.replace(re,"$1,$2")
    obj.value=num;
    var nums=document.getElementsByName("in");
    var sum=0;
    for(var i=0;i<nums.length;i++){
    if(nums[i].value){
    sum+=Number(nums[i].value.replace(/,/g,""));
    }
    }
    sum+="";
    while(re.test(sum)) sum = sum.replace(re,"$1,$2");
    document.getElementsByName("sum")[0].value=sum;
    }
    </script>
      

  3.   

    JavaScript replace() 方法
    定义和用法replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    语法stringObject.replace(regexp/substr,replacement)参数             描述
    regexp/substr  必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
    replacement  必需。一个字符串值。规定了替换文本或生成替换文本的函数。
    返回值一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
    说明字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
    字符                  替换文本
    $1、$2、...、$99  与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
    $&  与 regexp 相匹配的子串。
    $`  位于匹配子串左侧的文本。
    $'  位于匹配子串右侧的文本。
    $$  直接量符号。注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。