我的主iframe
页面中有一个aspx
,此iframe
也有一个aspx
页面。 iframe的页面有一些控件,主aspx页面上有一个提交按钮。现在,我想使用postback
在javascript
iframe的页面上提交按钮的点击事件。因此,主页面保持静态,iframe的页面为postback
的更新
谢谢@Kevin Babcock和@Bala R.
假设我需要执行一个按钮(在iframe中)通过主页单击事件
答案 0 :(得分:4)
从javascript您可以尝试类似
的内容document.frames["iframeid"].document.forms[0].submit();
答案 1 :(得分:3)
在父页面(Parent.aspx页面)中包含一个iframe页面(FrameChild.aspx页面),当您需要我们需要调用iframe按钮事件的方法时,我们必须按照这样的方式进行操作。
在父页面中,javascript方法调用如下:
<script type="text/javascript" language="javascript">
function functionName() {
document.getElementById(iframeID).contentWindow.MyIFrameFunction();
}
iframeID是帧ID,MyIFrameFunction()是FrameChild.aspx中javascript函数的名称,并通过父页面的按钮调用functionName()方法,该方法调用子元素的下面MyIFrameFunction()。 js功能。
在子页面(FrameChild.aspx)中应该包含一个函数。
<script type="text/javascript" language="javascript">
function MyIFrameFunction() {
__doPostBack('btnRenew', 'passparameter');
}
</script>
假设FrameChild.aspx中有一个按钮。
<asp:Button ID="btnRenew" runat="server" OnClick="btnRenew_Click" />
FrameChild.aspx页面后面的代码。
protected void Page_Load(object sender, System.EventArgs e)
{
string target = Request["__EVENTTARGET"]; //btnRenew
string paremeter = Request["__EVENTARGUMENT"]; //passparameter
if (!string.IsNullOrEmpty(target) && !string.IsNullOrEmpty(arg))
{
btnRenew_Click(sender, e);
}
}
public void btnRenew_Click(object sender, EventArgs e) { }
以上代码适用于我。
答案 2 :(得分:1)
尝试以下方法:
window.frames[0].document.forms[0].submit();
这假定如下:
答案 3 :(得分:0)
在页面上添加一个按钮,并将其命名为ID =“ btn_ParentSubmit ”。
假设您将iframe ID命名为“ iframeTest ”
在 Page_Load()中添加以下内容:
if (IsPostBack == false)
{
//Either place the button in an UpdatePanel (so it won't reload the iFrame) -OR- add "return false;" to prevent the post-back and let the iFrame submit itself. - 09/25/2012 - MCR.
btn_ParentSubmit.OnClientClick = "javascript:document.getElementById('" + iframeTest.ClientID + "').contentDocument.forms[0].submit(); return false;"
}
答案 4 :(得分:0)
支持每个浏览器
window.frames[0].document.getElementById('btnSave').click();
或
window.frames['iframename'].document.getElementById('btnSave').click();