【问题标题】:how to access iframe textbox id in current page?如何访问当前页面中的 iframe 文本框 ID?
【发布时间】:2012-07-18 06:26:48
【问题描述】:

朋友我有一个父页面(default.aspx),其中包含一个 iframe 页面(iframe.aspx),该页面包含字段中的文本框。父页面包含“保存”按钮。现在我想在提交父页面时获取 iframe 页面的值。如何访问父页面提交中的 iframe 页面字段?

iframe.aspx 页面,,,, 在 iframe 页面中,我有两个文本框,,

<asp:textbox id="txtfromdate" runat="server"></asp:textbox> 
<asp:textbox id="txttodate" runat="server"></asp:textbox>

default.aspx 页面

<iframe id="iframebody" runat="server" src="iframe.aspx" style="width:900px; height:600px"></iframe>

<asp:button id="submit" text="save" runat="server" />

当我单击按钮时,frdz 如何在父页面(default.aspx)中访问 iframe 页面 ID(txtfromdate,txtTodate)?

【问题讨论】:

    标签: asp.net vb.net iframe


    【解决方案1】:

    点击按钮试试这个javascript。

    HTML

    <input type="hidden" id="txtHidData" runat="server" />
    

    Javascript

    var iframe = document.getElementById('iframebody');
    var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
    var usernameTextBox = innerDoc.getElementById('txtfromdate');
    document.getElementById ( "txtHidData" ).value = usernameTextBox.value;
    

    C#

    string valueInCodeBehind = txtHidData.Value;
    

    【讨论】:

    • @pravn--> 谢谢frd,我现在试试,你知道如何在后面的代码中访问id吗?
    • 您可以在页面中放置一个隐藏字段。然后使用上面的 javascript 将 fromdate 的值分配给该隐藏值。然后在后面的代码中,就可以访问隐藏字段的值了。
    • @pravn-->谢谢frd,他们有可能吗,你能给我举个例子吗??
    【解决方案2】:

    您无法使用服务器端代码访问 iframe 的内容。

    要访问 iframe 的内容,您应该使用 javascript。

    在 jquery 中,你可以访问它:

    var iFrameContent = $('#iframebody').content();
    var fromDate = iFrameContent.find('#txtfromdate').val();
    var toDate= iFrameContent.find('#txttodate').val();
    

    将其存储在页面的隐藏字段中,然后在服务器端代码中访问

    在您的 aspx 页面上放置两个隐藏字段。喜欢

    <asp:HiddenField id="hdffromdate" runat="server"></asp:textbox> 
    <asp:HiddenField id="hdftodate" runat="server"></asp:textbox>
    

    在这些隐藏字段中设置值,例如

    $('[id$=hdffromdate]').val(fromDate );
    $('[id$=hdftodate]').val(toDate);
    

    在您的提交按钮单击事件处理程序

    protected void submit_Click(object sender, EventArgs e)
    {
          var fromDate = Convert.ToDateTime(hdffromdate.Value);
          var toDate = Convert.ToDateTime(hdftodate.Value);
          //...
    }
    

    【讨论】:

    • @Yograj-->谢谢你的信息,你能把那个jquey的链接发给我吗?如果可能的话,给我一个例子??
    猜你喜欢
    • 1970-01-01
    • 2017-02-14
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    相关资源
    最近更新 更多