我有文本框,它有值可以说。我在文本框“onblur”之一上调用我的 javascript 方法。我的功能是:
function CalculateExpectedProductPrice() {
alert("hi i called");
var originalPrice = document.getElementById('hdnSelectedProductPrice').value;
var numberOfLicenses = document.getElementById('txtNumberOfLicense').value;
var enteredAmount = document.getElementById('txtAmount').value;
alert(originalPrice);
alert(numberOfLicenses);
alert(enteredAmount);
}
我收到的提示消息为““嗨,我打过电话”。但没有更进一步。
但有些我没有得到这些控件的值。
*已编辑:* 我的 HTML 是:
<asp:HiddenField ID="hdnSelectedProductPrice" runat="server" />
<asp:TextBox ID="txtAmount" runat="server" Width="250px"></asp:TextBox>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="txtNumberOfLicense" runat="server" Width="35px" ></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="txtNumberOfLicense" EventName="" />
</Triggers>
</asp:UpdatePanel>
主内容页会不会有影响。因为脚本在内容页面中,而 html 也在同一内容页面中。另外让我知道,我正在使用向导控件,因为所有这些控件都位于向导的第二步。这会产生任何影响吗?
已编辑:
我认为向导控制在这里很重要。当我启动我的 Firebug 并查看生成的 html 时,它将 Id 动态分配给向导内的那些控件。这就是为什么 javascript 无法找到预期的控件。 例如,对于向导控件内的 txtAmount 文本框,名称为:
ctl00_ContentPlaceHolder1_Wizard1_txtAmount
但我当然不喜欢使用这个生成的 ID。那么是否有任何补救措施可以在向导控件内部找到控件并获取设置值?
最佳答案
如下所示获取控件的id
var enteredAmount = document.getElementById('<%=txtAmount.ClientId%>').value;
关于c# - 无法在javascript中通过id获取值文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246650/