【问题标题】:Value not being able to pass from one page to other值无法从一页传递到另一页
【发布时间】:2013-10-28 00:59:09
【问题描述】:

这就是我将值传递给 iframe 中调用的页面的方式

<script type="text/javascript">
        function refreshConversatio() {
            document.getElementById('ifrmConversation').src = 'Default2.aspx?id=' + document.getElementById('<%=HiddenField1.ClientID %>').value;
        }

    </script>

这是我在 iframe 中加载的其他页面中接收价值的方式

 <script type="text/javascript">
        function getParameterByName(name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
                results = regex.exec(location.search);
            return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
        }
        function myLoad() {
            document.getElementById('<%=hdn.ClientID%>').Value = getParameterByName("id");
        }
    </script>


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


    <script type="text/javascript">
        myLoad();
    </script>

我认为某处存在问题(可能在 myLoad() 中),因为我无法接收传递的值。我在这里做错了什么?

【问题讨论】:

    标签: c# javascript asp.net jquery iframe


    【解决方案1】:

    请参考此 SO 答案以了解如何从父窗口调用 iframe 中的函数:

    Calling javascript function in iframe

    【讨论】:

    • @BlaxingCoder 感谢您的回答,但我可以调用 iframe 页面,但无法成功传递隐藏字段值
    【解决方案2】:

    为了获得隐藏字段的值,请尝试以下操作:

    var abc =  document.getElementById('hdn');  
    

    var abc =  document.getElementById('hdn').value;
    

    【讨论】:

      【解决方案3】:

      试试这个示例方法

      代码

      <asp:HiddenField ID="hf_myhiddenfield" runat="server" Value="hidden value"/>
      

      您可以使用 Javascript 函数将值插入到您的 onclick 属性中

      点击

      onclick="window.open('../New/FeedbackV4.aspx'+GetHFValue(),'FeedbackWindow','width=960,height=640,scrollbars=yes,resizable=yes,status=yes')"  
      

      Javascript

      <script type="text/javascript">
          function GetHFValue() {
              var hf_value = '?' + document.getElementById("<%= hf_myhiddenfield.ClientID %>").value;
              return hf_value;
          }
      </script>
      

      以上代码示例为here

      并调用下面的代码来获取查询字符串值

      /*
      * <summary>
      * Get the querystring value
      * </summary>
      * <param name="key">A string contains the querystring key</param>
      * <param name="defaultVal">Object which get returns when there is not key</param>
      **/
      function getQuerystring(key, defaultVal) {
          if (defaultVal == null) {
              defaultVal = "";
          }
          key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
          var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
          var qs = regex.exec(window.location.href);
          if (qs == null) {
              return defaultVal;
          }
          else {
              return qs[1];
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-01
        • 2013-05-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多