页面中有一个文本框,及两个文本域<asp:TextBox ID="tbTotalAmount" runat="server" /><br />
<textarea ID="textarea1" cols="70" rows="5" /><br />
<textarea ID="textarea2" cols="70" rows="5" /><br />现在两个文本域中各有一些默认的值,但是都有这三个字:总金额。想要的一效果是:在文本框中输入一个值的时候,通过文本框的onkeyup事件,替换掉总金额这三个字。比如我输入3,则通过一个事件,将总金额三个字替换为3。这个我能做到,问题是这样的,如果我再继续输入6,如何只在被替换的3之后加入一个6,因为我不保证这两个文本域中是不是还有其它的数字3,这一点我如何做呢?如果页面中我用js动态生成多个文本域,而其中的部分文本域中含有总金额三个字,我怎么样将这些总金额替换为3,如果我要是再继续写一个6,怎么样保证在刚刚被替换的3之后加入一个6呢?
谢谢各位的回答!

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Untitled Document</title>
    </head>
    <body>
    <textarea id="textarea1" cols="70" rows="5" onfocus="change('textarea1')">总金额</textarea>
    <textarea id="textarea2" cols="70" rows="5" onfocus="change('textarea2')">总金额</textarea>
    </body>
    <script type="text/javascript">
    function change(taid) {
    var value = document.getElementById(taid).value;
    if(value == "总金额") {
    document.getElementById(taid).value = '';
    }
    }
    </script>
    </html>不知道是不是楼主想要的结果
      

  2.   

    onblur时在替换就行了,如果你在输入的过程中替换掉了总金额这3个字,如果发现金额输出了,总金额已经没有了,替换也替换不了
      

  3.   

    <html>
        <body>
            <textarea id="textarea1" cols="70" rows="5" onkeyup="change(this);">总金额</textarea>
            <textarea id="textarea2" cols="70" rows="5" onkeyup="change(this);">总金额</textarea>
    <script type="text/javascript">
            function change(obj) {
                obj.value = obj.value.replace(/总金额/, "");
            }
        </script>
        </body>
    </html>
    不合适再改改吧