【问题标题】:Change Hidden Input With onFocus Between UserControls在用户控件之间使用 onFocus 更改隐藏输入
【发布时间】:2011-02-15 21:43:04
【问题描述】:

这可能非常简单,但我在让它工作时遇到了问题。

在 ResidentAddress.aspx 上,我有 2 个用户控件(AppName.ascx 和 NavButtons.ascx)。当 AppName.ascx 中的文本框具有焦点时,我想将 NavButtons.ascx 上的隐藏输入字段更新为“TRUE”。在 NavButtons 的代码隐藏页面中,我想看看这个隐藏的输入字段的值是什么。

这是我目前所拥有的:

NavButtons.ascx

<input type="hidden" id="IpChangeFlag" name="ChangeFlag" runat="server" value="FALSE" />

AppName.ascx

<asp:TextBox ID="txtFirstName" runat="server"  onFocus="document.getElementsByName('ChangeFlag').value='TRUE';">

NavButtons.ascx.vb

If IpChangeMade.Value.Trim.ToUpper = "TRUE" Then
    MyValue = true
End If

我无法更改 ipChangeFlad 的值。它的值始终为 FALSE。

【问题讨论】:

    标签: javascript c# asp.net vb.net


    【解决方案1】:

    getElementsByName 返回一个数组,访问第一个元素。 document.getElementsByName('ChangeFlag')[0].value='TRUE'

    【讨论】:

    • 我尝试访问第一个元素,就像您推荐的那样,但该值仍然为 FALSE。使用 firebug 调试时,收到以下错误:“document.getElementsByName("ChangeFlag")[0] is undefined"
    • 终于注意到name值被改变了,所以我把输入类型中的runat="server"去掉,用下面的方式拉取输入值:Dim ChangesMade As Boolean = CBool(String.Format("{0}", Request.Form("ChangeFlag")))
    猜你喜欢
    • 2023-04-05
    • 2012-09-16
    • 2018-03-09
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2012-06-16
    相关资源
    最近更新 更多