0

我有一个 ASPX 页面,我需要在其中使用“YourName”设置“FirstName”的值。两者都是文本框。“YourName”在页面上设置为 visible=false。问题是 Jquery 只能工作visible=true

我的目标是使用 YourName 的条件设置 Firstname 和 YourName visible=false

这是详细信息

<asp:TextBox runat="server" ID="fnameTextBox" />
<asp:TextBox runat="server" ID="ynameTextBox" visible="false" />

<script type="text/javascript">
    $(document).ready(function () {
        $('input:text[id*=fnameTextBox]').val($('input:text[id*=ynameTextBox]').val());
    });
</script>

我可以将“ynametextbox”中的值存储到其他类型或变量中,但我不知道如何在 Jquery 中引用(如果可能的话)。

4

3 回答 3

1

这是HiddenField按要求提供的示例:

Javascript:

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script>
    $(document).ready(function () {
        $('#<%=fnameTextBox.ClientID %>').val($('#<%=hiddenTextYourName.ClientID %>').val());
    });
</script>

HTML

<asp:TextBox runat="server" ID="fnameTextBox" />
<asp:HiddenField runat="server" ID="hiddenTextYourName" Value="Hanlet" />

隐藏字段对用户当然是不可见的,但要小心,因为他们仍然可以看到 HTML 中的值。

祝你好运..

于 2012-09-05T22:05:54.767 回答
1

当我们写 visible = "false" 时,它不会在 html 中呈现。因此,javascript 无法获取该元素。而是尝试 style="visibility:hidden;"

<asp:TextBox runat="server" ID="fnameTextBox" />
  <asp:TextBox runat="server" ID="ynameTextBox" Text="hello" style="visibility:hidden;" />
<script type="text/javascript">
    $(document).ready(function () {
        $('input:text[id*=fnameTextBox]').val($('input:text[id*=ynameTextBox]').val());
    });
</script>
于 2012-09-06T08:46:15.313 回答
1

这就是 Control 对象的 ClientID 属性的用途。这为您提供了您将在 jQuery 中使用的 javascript 可访问 ID。参考看起来像这样:

$(<%=fnameTextBox.ClientID%>)

请记住,当您在 ASP.NET 服务器控件上设置 Visible="false" 时,它根本不会呈现到 HTML 输出中,因此您将无法在 javascript 中访问它。使用 CSS 属性将其隐藏或将其放置在隐藏的 div 中。

于 2012-09-05T21:13:05.923 回答