在锚点上设置asp:HiddenField值在jQuery中单击

时间:2017-12-01 14:28:30

标签: javascript c# jquery html asp.net

我有一个HiddenField和两个锚:

<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>

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

$(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';
}

1 个答案:

答案 0 :(得分:1)

这是你应该在Caused by: java.io.FileNotFoundException: ServletContext resource [/WEB-INF/tiles.xml] cannot be resolved to URL because it does not exist at org.springframework.web.context.support.ServletContextResource.getURL(ServletContextResource.java:156) ~[spring-web-4.3.10.RELEASE.jar!/:4.3.10.RELEASE] 事件中使用$(this).text()而不是.val()的锚点,你可以对具有值属性的元素使用click,更改你的

.val()

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

修改

你有 $("<%= hfForm.ClientID %>").val($(this).text()); signUp()在同一个锚点上,这些功能是什么?它们做了什么?为什么不利用这些功能将值分配给隐藏字段。

并且您使用的signOut()值为href而不是href="javascript:;",或者您可以在点击事件中添加href="javascript:void(0);"

您的功能如下所示

e.preventDefault()