价值无法从一个页面传递到另一个页面

时间:2013-10-19 04:11:17

标签: c# javascript asp.net jquery iframe

这是我将值传递给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()中),因为我无法接收传递的值。我在这做错了什么?

3 个答案:

答案 0 :(得分:0)

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

Calling javascript function in iframe

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

试试这种样本方式

代码

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

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

<强>的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];
    }
}