在iframe / jQuery / ASP中的__doPostBack之后刷新

时间:2015-12-22 10:53:06

标签: javascript jquery html asp.net iframe

我的问题是我有一个带有iframe的页面,它使用__doPostBack()调用加载一个asp表单。然后,当我尝试在doPostBack()的“刷新”之后在Javascript中执行某些操作时,没有任何内容。

单击标签时,iframe中会调用__DoPostBack操作。 EJ:

<a href="javascript:__doPostBack('ctl00$plhContent$clsOverview$dgClasses$ctl02$cmdAskRegister','')" class="button" id="ctl00_plhContent_clsOverview_dgClasses_ctl02_cmdAskRegister">Inscripción en Curso</a>

我尝试了很多我在互联网上看到的解决方案,但是所有的解决方案都是我没有加载我的HTML。我可以访问iframe上的asp事件吗?

iframe加载:

<div id="gtregistrations.<%=medEntry.getExternalIdentity()%>.<%=medEntry.getType()%>.<%=sLocale%>">
<script type="text/javascript" src="<%=pref.getGtPath()%>/Liferay/scripts/tls/myregistrations.js"></script>

使用Javascript:

<script type="text/javascript">
        var idConvocatoria = 'hola';

        if(typeof String.prototype.trim !== 'function') {
              String.prototype.trim = function() {
                return this.replace(/^\s+|\s+$/g, ''); 
              }
            }

        $(window).load(function() {

            $("#frm_gt_media")
              .contents().find("#ctl00_plhContent_clsOverview_dgClasses")
              .find("[id$=_cmdAskRegister]").click(function() {
                  var oldHref = $(this).attr("href");
                  var idConvocatoria = $(this).parent().parent().siblings(":first").text().trim();

                  if (confirm("¿Necesita desplazamiento para el curso?")) {
                        //Logica ejecutar formulario y registrar
                        AUI().use(
                                  'aui-aria',
                                  'aui-dialog',
                                  'node',
                                  'aui-overlay-manager',
                                  'dd-constrain',
                                  function(A) {
                                        var dialog = new A.Dialog(
                                          {
                                            centered: true,
                                            height: 700,
                                            title: 'Solicitud Desplazamiento',
                                            width: 1024

                                          }
                                        ).render();
                                        dialog.plug(
                                          A.Plugin.IO,
                                          {
                                            autoLoad: false,
                                            uri: '<%=solicitudPortlet%>+&idConvocatoria='+ $("#frm_gt_media").contents().find("#ctl00_plhContent_clsOverview_dgClasses").find("[id$=_cmdAskRegister]").parent().parent().siblings(":first").text().trim()
                                          }
                                        );

                                        dialog.io.start();
                                      }
                                    );
                    } else {
                        //logica solo registrar y refresh?

                    }
              });
        });
    </script>

1 个答案:

答案 0 :(得分:0)

您可以在iframe上分配onload事件,但只要加载iframe,就会触发该事件。不仅仅是在回发发生时。