【问题标题】:How to retrieve hidden field value using javascript?如何使用javascript检索隐藏字段值?
【发布时间】:2011-12-02 09:06:14
【问题描述】:

我有 asp.net 网站,我使用母版页进行设计。我有放置在 contentplaceholder 中的子页面。在子页面上,我使用了一个隐藏字段作为 -

<input id="Hidden1" type="hidden" value="This is hidden text"/>

我想在 页面加载事件上使用 javascript 中的 alert() 函数显示隐藏字段值。如何做到这一点?

我尝试在我的脚本中执行以下操作,但它不起作用-

(function msgShow() {

        var e1 = document.getElementById('Hidden');
        alert(e1.value);
    })();

谢谢。

【问题讨论】:

  • 什么不完全有效?你得到一个错误,空值,未定义...
  • @Viruzzo:我没有收到任何错误。我只是显示我的页面而不显示警报消息。
  • 如果你在 getElementById 前加上alert('Hello World!');,它会显示吗?
  • 当你调用你的 msgShow 函数时你的隐藏元素应该在那里,例如在 DOM 完全加载后调用你的函数。
  • @Virusso:yes alert('hello world') 正在工作

标签: javascript master-pages hidden-field contentplaceholder


【解决方案1】:
window.alert(document.getElementById("Hidden1").value);

确保在 DOM 准备好之后执行此代码。

【讨论】:

  • 如何保证代码在DOM准备好后执行?
  • 你可以使用 jQuery 的ready 方法来做到这一点。如果不使用 jQuery,只需将您的 JavaScript 代码放在正文的末尾,这也有 performance benefits,因为 JS 的加载不会阻塞页面渲染。
【解决方案2】:

使用 jQuery 你可以这样做:

$(document).ready(function() {
    alert($('#Hidden1').val());
});

没有 jQuery 你可以这样做:

alert(document.getElementById('Hidden1').value);

【讨论】:

    【解决方案3】:

    就像任何其他元素一样,您可以通过document.getElementById('Hidden1').value 获取它

    【讨论】:

      【解决方案4】:

      参考下面给出的代码了解如何获取

      <html>
      <body>
      
      <script type="text/javascript">
      function printIt(){
         alert(document.getElementById('abcId').value);
         alert(document.formName.elements['abcName'].value);
      }
      </script>
      
      <h1>Access Hidden value in JavaScript</h1>
      <form name="formName">
          <input type="hidden" id="abcId" name="abcName" 
                        value="I am Hidden value"/>
      
          <input type="button" value="Get Value" onclick="printIt()" />
      </form>
      
      </body>
      </html>
      

      【讨论】:

        【解决方案5】:
        document.getElementById('Hidden1').value;
        

        并提醒返回值

        【讨论】:

          【解决方案6】:

          <script type="text/javascript"> function dis() { var j = document.getElementById("<%= Hidden1.ClientID %>").value; alert(j); } </script>

          <input id="Hidden1" type="hidden" runat="server" value="Hello" /><br /> <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return dis();" />

          【讨论】:

            【解决方案7】:

            使用纯 JavaScript:

            var value = document.getElementById(id).value;
            

            【讨论】:

              【解决方案8】:

              还要确保在 DOM 元素存在之前不要引用它——就像我刚刚做的那样,花了一个小时试图弄清楚为什么即使 HelloWorld 也不起作用。

              【讨论】:

                猜你喜欢
                • 2012-05-31
                • 1970-01-01
                • 2018-11-03
                • 1970-01-01
                • 2010-09-25
                • 1970-01-01
                • 2013-04-06
                • 1970-01-01
                相关资源
                最近更新 更多