2014-09-24 63 views
0

我试过下面的代码,但没有成功。如果你能指导我,那将是非常棒的。我试图用一个简单的“你好”来测试。在实际的程序中,我会为隐藏字段分配一个字符串值。访问Javascript中隐藏变量的值与VB

我收到一个提示框(使用它来测试值是否可以在javascript中访问),但没有值。

服务器端

ivar.Value = "Hello" 

的Javascript

<script> 
    function getval() { 
     var v = document.getElementById('<%= ivar.ClientID%>').value; 
     alert(v) 
    } 
</script> 

<asp:Button ID="Button1" runat="server" Text="CALCULATE" onclientclick="getval()" /> 
<asp:HiddenField ClientIDMode="static" id="ivar" runat="server" Value=""/> 
+0

您在提醒(v)后是否缺少分号(;)? – 2014-09-24 16:13:20

+1

当您查看页面源代码时,您会在隐藏的输入中看到一个值属性?它有你期望的价值吗?当你在线上设置断点时,服务器端代码是否被执行? – epascarello 2014-09-24 16:14:50

+0

@miche:谢谢你提醒我,但它仍然没有给我一个价值。它只是显示一个空的警告框 – Linus 2014-09-24 16:15:49

回答

0

让我们说你有服务器端的公共变量:

public string iVar = "Hello"; 

您可以直接将其添加到您的JavaScript如下:

<script> 
    function getval() { 
     var v = <%=iVar%>; 
     alert(v); 
    } 
</script> 

希望这有助于。

0

你打电话找客户ID在你的SCR ipt块可能试图在隐藏字段存在之前找到它。尝试在关闭身体标记之前将脚本移动到页面底部,看看是否有帮助。

+0

只是一个疯狂的想法。这是否会因为我将值分配给受保护的子项中的隐藏字段? – Linus 2014-09-26 14:27:39

+0

不应该。你说当你打f12并检查页面时,它在隐藏的领域。一旦变量在页面上,你如何设置它并不会起作用。 – KHeaney 2014-09-26 17:19:52

+0

我只是删除了整个隐藏字段并修改了代码。谢谢你的帮助。 – Linus 2014-10-02 18:52:03