gpt4 book ai didi

javascript - 设置asp :HiddenField value on anchor click in jQuery

转载 作者:行者123 更新时间:2023-12-03 02:56:40 27 4
gpt4 key购买 nike

我有一个 HiddenField 和两个 anchor :

<asp:HiddenField ID="hfForm" runat="server" />

<a href="javascript:;" id="signup" onclick="signupClick()">Sign Up</a>
<a href="javascript:;" id="login" onclick="loginClick()">Login</a>

我试图将单击的 anchor 的值设置为隐藏字段,如下所示:

$(document).ready(function() {            
$("a").click(function() {
$("<%= hfForm.ClientID %>").val($(this).val());
});
});

但是回发时 page_load 中的内容变空了:

if (this.IsPostBack)
{
string val = hfForm.Value; // getting "" val
}

我该如何解决这个问题?

已更新

JavaScript 函数(我将值设置为 asp:Label 值):

function loginClick() {
document.getElementById('<%=lbl.ClientID%>').innerText = 'Login';
}
function signupClick() {
document.getElementById('<%=lbl.ClientID%>').innerText = 'SignUp';
}

最佳答案

这是一个 anchor ,您应该在 click 事件中使用 $(this).text() 而不是 .val(),您可以在具有 value 属性的元素上使用 .val() ,更改您的

 $("<%= hfForm.ClientID %>").val($(this).val());

 $("<%= hfForm.ClientID %>").val($(this).text());

编辑

您在同一个 anchor 上有 signUp()signOut() 这些函数在哪里以及它们的作用是什么?为什么不利用这些函数将值分配给隐藏字段。

并且您使用 href 值作为 href="javascript:;" 而应为 href="javascript:void(0);" 或者您可以在点击事件中添加 e.preventDefault()

您的函数如下所示

$(document).ready(function() {            
$("a").on('click',function(e) {
e.preventDefault();
$("<%= hfForm.ClientID %>").val($(this).val());
});
});

关于javascript - 设置asp :HiddenField value on anchor click in jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47595543/

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