2

如何在 javascript/asp 中添加两个文本框值并显示在第三个?我的代码如下

 function fill() {
        var txt8 = document.getElementById("TextBox8").value;
        var txt9 = document.getElementById("TextBox9").value;
        document.getElementById("TextBox10").value = txt8 + txt9;


    }

我对 TextBox8 和 TextBox9 都有 onchange="fill"

4

5 回答 5

2

您必须调用该函数,onchange="fill()"注意()

于 2012-10-10T21:19:52.820 回答
1
    function Sum() {
        var text1 = document.getElementById('<%= TextBox1.ClientID %>');
        var text2 = document.getElementById('<%= TextBox2.ClientID %>');
        if (text1.value.length == 0 || text2.value.length == 0) {
            text1.value = 0;
            text2.value = 0;
        }

        var x = parseFloat(text1.value);
        var y = parseFloat(text2.value);          

        document.getElementById('<%= TextBox3.ClientID %>').value = x + y;
    }




<table>
    <tr>
        <td style="width: 100px">
            TextBox1</td>
        <td>
            <asp:TextBox ID="TextBox1" runat="server" onkeyup="Sum()"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            TextBox2</td>
        <td>
            <asp:TextBox ID="TextBox2" runat="server" onkeyup="Sum()"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            TextBox3</td>
        <td>
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td>
            &nbsp;</td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td>
            &nbsp;</td>
        <td>
            <asp:Button ID="Button1" runat="server" Text="Show" Width="80px" OnClientClick="Sum()" />
        </td>
    </tr>
</table>
于 2012-11-29T12:53:27.160 回答
1

函数调用后是否有一组括号?在 javascript 中,如果您不遵循带括号的函数调用,则假定您正在引用一个变量。同样在将来,如果您正在努力调试 javascript 代码,您应该打开浏览器的 javascript 控制台以查看发生了什么以及抛出了哪些错误(如果有)。

<input type="text" id="TextBox8" onchange="fill()" />

<input type="text" id="TextBox9" onchange="fill()" />
于 2012-10-10T21:25:32.340 回答
1

你为什么不使用jQuery?这是一个示例:

function fill(){
var total=Number($('#TextBox9').val()) + Number($('#TextBox9').val());
$('#TextBox10').val(total);
}
于 2012-10-10T21:56:08.443 回答
0

您需要将字符串转换为整数。值总是返回字符串。jsfiddle

 <input onchange="fill()"  id=TextBox8 />
<input  onchange="fill()"  id=TextBox9 />
<input  id=TextBox10 /> 
<script>

    function fill() {
        var txt8 = document.getElementById("TextBox8").value-0;
        var txt9 = document.getElementById("TextBox9").value-0;
        document.getElementById("TextBox10").value = txt8 + txt9;


    }
</script>

​</p>

于 2012-10-10T21:21:57.523 回答