1

这是我的 javascript,用于将 2 个文本框中的 2 个值添加到第三个文本框中。

它不工作...

<script type="text/javascript">

    function calculate(ctrl1, ctrl2, ctrl3) {

        var c1 = document.getElementById(ctrl1);
        var c2 = document.getElementById(ctrl2);
        var c3 = document.getElementById(ctrl3);

        if (c1 != null && c2 != null & c3 != null) {
            c3.value = Number(c1.value) + Number(c2.value);

        }
        document.forms[0].txteanum.focus();

    }    
</script>

在文本框中

<asp:TextBox ID="txtQuantity" runat="server" onblur='javascript:calculate("txtQuantity","txtRate","TxtAmount")'></asp:TextBox>

在这里查看我的答案https://stackoverflow.com/a/11624756/1445836

4

3 回答 3

3

正确的:if (c1 != null && c2 != null & c3 != null)

至:if (c1 != null && c2 != null && c3 != null)失踪&

致评论者:抱歉,我从未听说过 Number(),因为我通常不使用前端(尤其是前端的数学),主要是 PHP/C#。

另外,c2,c3<input>的 ?

于 2012-07-23T12:20:55.897 回答
2

也许你不能得到文本框。您是否尝试过给他们 clientidmode 静态的?

<asp:TextBox ID="txtQuantity" runat="server" onblur='javascript:calculate("txtQuantity","txtRate","TxtAmount")' ClientIDMode="static"></asp:TextBox>
于 2012-07-23T12:34:43.287 回答
0

这是对我有用的java脚本

function Sum() {
                        var text1 = document.getElementById('<%= TextBox1.ClientID %>');
                        var text2 = document.getElementById('<%= TextBox2.ClientID %>');
                        if (text1.value.length == 0 || text2.value.length == 0) {
                                alert('Textbox1 and Textbox2 should not be empty');
                                return;
                        }

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

进入 .aspx 页面本身的文本框

<asp:TextBox ID="TextBox1" runat="server" onblur="Sum()"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server" onblur="Sum()"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
于 2012-07-24T05:38:32.610 回答