这是我的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
正确:if (c1 != null && c2 != null & c3 != null)
TO:if (c1 != null && c2 != null && c3 != null)
缺少&
评论者:对不起,我从来没有听说过Number(),因为我通常不处理前端(尤其是前端的数学),主要是PHP/C#。
此外,c2
、c3
是<input>
的?
也许您无法获取文本框。你试过给他们提供客户端模式静态吗?
<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;
}
进入.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>