Llamar a una función de un padre desde iframe

Aunque hoy en día y gracias a Ajax, no soy partidario de usar iframes, aunque en un proyecto en el cual por temas de tiempo, no podía hacerlo con ajax, tuve que conformarme con usar iframes. Durante el desarrollo, me encontre con un problema, que aunque pueda resultar una tontería, siempre viene bien tenerlo apuntado.

Cuando desde un iframe, queremos llamar a una función, que hemos declarado en la página padre, o página que tiene el código <iframe>, solamente deberemos de añadir window.parent, antes del nombre de la función, quedado la sintaxis así:

  window.parent.function(parametros)

13 comentarios en “Llamar a una función de un padre desde iframe

  1. function ClickHide() {
    var btnClick = window.parent.document.getElementById('');
    btnClick.click();
    }

    ==============================================Pagina.aspx===============================

    Protected Sub btnRep01_Click(sender As Object, e As System.EventArgs) Handles btnRep01.Click
    Dim rowIndex = CInt(e.CommandArgument.ToString())
    Dim dataItem As Hashtable = grdRegPat.Rows(rowIndex).ToHashtable()

    Session("Nombre") = dataItem("Nombre").ToString()
    Session("FechaMov") = dataItem("FechaMov").ToString()
    Session("SD") = Format(CDbl(dataItem("SDI").ToString()), "#,##0.00")

    Dim sb As New StringBuilder()

    sb.Append("")
    sb.Append(" window.parent.ClickHide();")
    sb.Append("")

    ClientScript.RegisterStartupScript(Me.GetType(), "script", sb.ToString())

    End Sub

  2. Excelente 🙂 saludos

    Y yo también no soy partidario a utilizar iframes, peo lo tuve que hacer ya que no encontré la manera de subir archivos al servidor vía ajax, así que utilice un pequeño truco que encontré por la red usando iframes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *