gpt4 book ai didi

javascript - 如何在客户端的 ASP.NET 中获取自定义文本框控件的 javaScript 'value' 属性

转载 作者:行者123 更新时间:2023-12-03 08:03:35 26 4
gpt4 key购买 nike

有没有办法使用 JavaScript 从另一个页面访问自定义 ASP.NET 控件内的特定文本框控件?

换句话说:我有自定义控件 BankInformation:

    <%@ Register Src="~/Controls/Attachments/SingleAttachment.ascx" TagName="SingleAttachment" TagPrefix="ABS" %>

<div id="divIBAN" runat="server" class="control-group">
<asp:Label ID="lblIBAN" runat="server" CssClass="control-label" AssociatedControlID="txtIBAN" meta:resourcekey="lblIBAN"></asp:Label>
<div class="controls">
<asp:TextBox ID="txtIBAN" runat="server"></asp:TextBox>
</div>
</div>
<div id="divRoutingABANumber" runat="server" class="control-group">
<asp:Label runat="server" ID="lblRoutingABANumber" CssClass="control-label" AssociatedControlID="txtRoutingABANumber" meta:resourcekey="lblRoutingABANumber"></asp:Label>
<div class="controls">
<asp:TextBox ID="txtRoutingABANumber" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" CssClass="validator" ValidationGroup="vgDirectDebitApplication" ID="rfvRoutingABANumber" ControlToValidate="txtRoutingABANumber" SetFocusOnError="True" Display="Dynamic" Enabled="false" meta:resourcekey="rfvRoutingABANumber"></asp:RequiredFieldValidator>
</div>
</div>

I've made an instance of this custom control inside of another control:

<%@ Register Src="~/Controls/BankInformation.ascx" TagName="BankInformation" TagPrefix="ABS" %>

<script type="text/javascript">
$(document).ready(function () {
var isAccountNumberEmpty = document.getElementById('<%=txtAccountNumber.ClientID%>').value; //This is not valid of course
function validateAndCloseDirectDebitDialog(validationGroup, dialogID){
if (isAccountNumberEmpty != "")
dialogID.modal('hide');
else {

}
}
</script>
<div id="bankInfoDialog" runat="server" class="modal hide fade" tabindex="-1" role="dialog">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" style="display: none">×</button>
<h1 id="bankInformationDialogHeader"><%=GetLocalResourceObject("BankInfoHeader") %></h1>
</div>
<div class="modal-body">
<ABS:BankInformation runat="server" ID="bankInformation" />
</div>
<div class="modal-footer">
<asp:Button runat="server" ID="btnUpdate" meta:resourcekey="btnUpdate" CausesValidation="False" />
<button id="btnCancel" runat="server" data-dismiss="modal" aria-hidden="true"><%=GetLocalResourceObject("Cancel")%></button>
</div>
</div>

我想做的是从实例化控件的 BankInformation 控件中访问 ID 为“txtAccountNumber”的文本框并获取其值,以便我可以对 btnUpdate 单击事件进行客户端验证。我知道如何做除了最重要的部分之外的所有事情:是否有可能在其控制之外获取 txtAccountNumber 的值以及如果可能的话如何在 javaScript 中执行此操作?

最佳答案

是的,这是可能的。您可以使用 ClientIDMode 属性 (ASP.NET 4.0):

<asp:TextBox ID="txtAccountNumber" runat="server" ClientIDMode="Static"></asp:TextBox>

然后访问文本框:

var accountNumber = document.getElementById('txtAccountNumber').value;

另一种方法是将 txtAccountNumber.ClientID 保存到全局 JavaScript 变量,或者更好地将其保存为全局应用程序对象的属性。

关于javascript - 如何在客户端的 ASP.NET 中获取自定义文本框控件的 javaScript 'value' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34489710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com