这是我的代码,但它不起作用(后面的代码变为空字符串): `
<head id="Head1" runat="server">
<title>Pass Javascript Variables to Server</title>
<script type="text/javascript"> // Second Step
function f() {
$("[id$='inpHide']").val("My JavaScript Value");
}
</script>
</head>
<body onload="SetHiddenVariable()">
<form id="form1" runat="server">
<div>
<input id="inpHide" type="hidden" runat="server" />
<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f"/>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
`
答案 0 :(得分:1)
您的代码中存在几个问题。在f
中调用onClientClick
函数时缺少括号,如果元素有id,则可以使用id来#
选择它
<head id="Head1" runat="server">
<title>Pass Javascript Variables to Server</title>
<script type="text/javascript"> // Second Step
function f() {
$("input[id*='inpHide']").val("My JavaScript Value");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="inpHide" type="hidden" runat="server" />
<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f()"/>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
答案 1 :(得分:1)
您的<input>
代码需要名称属性,否则不会发布。
答案 2 :(得分:0)
Sean McMillan的回答是正确的,但我认为你还需要改变这个:
<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f"/>
到
<asp:Button ID="btnJSValue" Text="Click" runat="server" OnClientClick="f();"/>