模糊事件不起作用会给出下面写的错误。我只想简单地将两个文本框中的值相乘。我做错了。
TypeError: document.getElementById(...) is null .
var txt8 = document.getElementById("txtQuantity").value;
<script type="text/javascript">
function CalcSellPrice2() {
var txt8 = document.getElementById("txtQuantity").value;
var txt9 = document.getElementById("txtUnit").value;
document.getElementById("TextBox10").value = txt8 + txt9;
document.getElementById(txtTotal).innerHTML = TotalPriceValue;
}
</script>
<asp:TextBox ID="txtQuantity" runat="server" CssClass="span6"
onblur="CalcSellPrice2();"></asp:TextBox>
答案 0 :(得分:3)
由于TextBox
是asp.net
控件,因此您必须使用ClientID
来访问您的asp控件,因为asp.net
带有标记的rander HTML并连接{{1具有控件的ID
值的每个父命名容器的值(请参阅THIS)
ID
所以你的脚本看起来像这样
<%= txtQuantity.ClientID %>
或强>
访问var txt8 = document.getElementById(" <%= txtQuantity.ClientID %>").value;
控件的另一种方法是使用属性ASP.NET
,一旦将其设置为ClientIDMode
,它就不会连接每个父命名容器的Static
值。所以你的HTML将如下所示。
ID
通过这种方式,您只需访问您在问题中使用的asp控件,而无需使用<asp:TextBox ClientIDMode="Static" ID="txtQuantity" runat="server" CssClass="span6" onblur="CalcSellPrice2();"></asp:TextBox>
答案 1 :(得分:0)
将属性 ClientIDMode =“静态”添加到文本框
<asp:TextBox ClientIDMode="Static" ID="txtQuantity" runat="server" CssClass="span6"
onblur="CalcSellPrice2();"></asp:TextBox>