使用jQuery更改隐藏字段的值并在服务器上获取新值

3

我用jQuery改变了隐藏字段的值,现在想在服务器中获取新值。我使用ASP.NET,以下是我的jQuery代码:

$('#HiddenField').val("NewValue");

这是我的HTML标签:

<input id="HiddenField" type="hidden" runat="server" value=""/>

在我的页面上,我更改了'#HiddenField'的值,并希望在服务器端获取新值。


请包含您的服务器端代码相关部分。 - jrummell
2个回答

8
您需要在JQuery选择器中使用隐藏字段的ClientID,例如:
$('#<%= HiddenField.ClientID %>').val("NewValue");

或者,另一种方法是为隐藏字段使用样式,并通过类来访问它,例如:
<input id="HiddenField" type="hidden" runat="server" value="" CssClass="hidden"/>
$('.hidden').val("NewValue");

它改变了值,但我无法在服务器端获取这个新值。在服务器端,我得到了null。 - Mahdi jokar
form标签中,它是隐藏字段。你是在回发(postback)还是回调(callback)中检查它的值? - Akhil
1
请在哪个事件中以及如何访问该值上发布您的代码。没有代码,我们无法帮助您! - Akhil

8
我在我的页面上尝试了这个方法:
<!DOCTYPE html>
<html>
<head runat="server">
    <title></title>
</head>
<body>

    <form id="form1" runat="server">
    <div>
        <asp:Button runat="server" ID="goBtn" Text="Go" OnClick="goBtn_Click" />
        <input id="HiddenField" type="hidden" runat="server" value="" />
        <asp:TextBox runat="server" ID="testTxt"></asp:TextBox>
    </div>
    </form>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#<%=HiddenField.ClientID %>').val("Test");
        });
    </script>

</body>
</html>

同时需要在代码后端进行如下操作:

protected void goBtn_Click(object sender, EventArgs e)
{
    testTxt.Text = HiddenField.Value;
}

当你按下“Go”按钮时,新值将在服务器上可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接