首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在当前页面中访问iframe文本框id?

如何在当前页面中访问iframe文本框id?
EN

Stack Overflow用户
提问于 2012-07-18 14:26:49
回答 2查看 7.3K关注 0票数 0

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

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

代码语言:javascript
运行
复制
<asp:textbox id="txtfromdate" runat="server"></asp:textbox> 
<asp:textbox id="txttodate" runat="server"></asp:textbox>

default.aspx页面

代码语言:javascript
运行
复制
<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)??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-18 14:30:34

试试这个javascript上的按钮点击。

HTML

代码语言:javascript
运行
复制
<input type="hidden" id="txtHidData" runat="server" />

Javascript

代码语言: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#

代码语言:javascript
运行
复制
string valueInCodeBehind = txtHidData.Value;
票数 2
EN

Stack Overflow用户

发布于 2012-07-18 14:33:04

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

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

在jquery中,您可以访问它:

代码语言:javascript
运行
复制
var iFrameContent = $('#iframebody').content();
var fromDate = iFrameContent.find('#txtfromdate').val();
var toDate= iFrameContent.find('#txttodate').val();

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

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

代码语言:javascript
运行
复制
<asp:HiddenField id="hdffromdate" runat="server"></asp:textbox> 
<asp:HiddenField id="hdftodate" runat="server"></asp:textbox>

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

代码语言:javascript
运行
复制
$('[id$=hdffromdate]').val(fromDate );
$('[id$=hdftodate]').val(toDate);

在提交按钮中,单击事件处理程序

代码语言:javascript
运行
复制
protected void submit_Click(object sender, EventArgs e)
{
      var fromDate = Convert.ToDateTime(hdffromdate.Value);
      var toDate = Convert.ToDateTime(hdftodate.Value);
      //...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11535443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档