在asp.net的文本框中添加两个数字的javascript不起作用

在asp.net的文本框中添加两个数字的javascript不起作用,javascript,asp.net,textbox,onblur,Javascript,Asp.net,Textbox,Onblur,这是我的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

这是我的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>

函数计算(ctrl1、ctrl2、ctrl3){
var c1=document.getElementById(ctrl1);
var c2=document.getElementById(ctrl2);
var c3=document.getElementById(ctrl3);
如果(c1!=null&&c2!=null&c3!=null){
c3.值=编号(c1.值)+编号(c2.值);
}
document.forms[0].txtenum.focus();
}    
在文本框中

<asp:TextBox ID="txtQuantity" runat="server" onblur='javascript:calculate("txtQuantity","txtRate","TxtAmount")'></asp:TextBox>
正确:
如果(c1!=null和&c2!=null和c3!=null)

收件人:
如果(c1!=null&&c2!=null&&c3!=null)
缺失
&

对评论者说:对不起,我从来没有听说过Number(),因为我通常不使用前端(尤其是前端的数学),主要是PHP/C

而且,
c2
c3
的?

正确:
如果(c1!=null&&c2!=null&c3!=null)

收件人:
如果(c1!=null&&c2!=null&&c3!=null)
缺失
&

对评论者说:对不起,我从来没有听说过Number(),因为我通常不使用前端(尤其是前端的数学),主要是PHP/C


另外,
c2
c3
的?

也许你无法获得文本框。你试过给他们clientidmode静态吗

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

也许您无法获取文本框。你试过给他们clientidmode静态吗

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

这是为我工作的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;
                }
函数和(){
var text1=document.getElementById(“”);
var text2=document.getElementById(“”);
如果(text1.value.length==0 | | text2.value.length==0){
警报(“Textbox1和Textbox2不应为空”);
回来
}
var x=parseInt(text1.value);
变量y=parseInt(text2.value);
document.getElementById(“”).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>

这是为我工作的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;
                }
函数和(){
var text1=document.getElementById(“”);
var text2=document.getElementById(“”);
如果(text1.value.length==0 | | text2.value.length==0){
警报(“Textbox1和Textbox2不应为空”);
回来
}
var x=parseInt(text1.value);
变量y=parseInt(text2.value);
document.getElementById(“”).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>


“TxtAmount”中的大写字母“T”是打字错误吗?(其他字段中的小写字母为“t”)。如果在浏览器中查看源代码,那么这些ID是ASP代码实际生成的ID吗?是否可以编写其他部分并放入alert/console.log以查找这些文本框中是否有空文本框?您的代码对我有效:因此我假设我在前面的评论中提到的就是问题所在。尝试在输入中添加一个
ClientIDMode=“Static”
属性…请参阅@hasanchuck的答案-您使用的是服务器端控件,它们的ID可能不是您所期望的。我的答案是
中的大写“T”
输入错误?(其他字段中的小写字母为“t”)。如果在浏览器中查看源代码,那么这些ID是ASP代码实际生成的ID吗?是否可以编写其他部分并放入alert/console.log以查找这些文本框中是否有空文本框?您的代码对我有效:因此我假设我在前面的评论中提到的就是问题所在。尝试将
clientdmode=“Static”
属性添加到您的输入中…请参阅@hasanchuck的答案-您使用的是服务器端控件,它们的ID可能不是您所期望的。我的答案在
中得到了很好的理解,但实际上并不重要:@GuyDavid:+1在&catch中。此外,如果OP使用
clientdmode=“Static”
会更好。这可能是ID损坏的情况。有效地,操作数被转换为数字,以便在实践中
true&true
返回
1
true&false
或具有
false
返回
0
的其他组合。请参阅。
的捕捉效果很好,只是它实际上并不重要:@GuyDavid:+1在&catch上。此外,如果OP使用
clientdmode=“Static”
会更好。这可能是ID损坏的情况。有效地,操作数被转换为数字,以便在实践中
true&true
返回
1
true&false
或具有
false
返回
0
的其他组合。看见