在iframe/jQuery/ASP内__doPostBack后刷新



我的问题是,我有一个带有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中的asp。我可以访问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>

您可以在iframe上分配一个onload事件,但该事件将在ifame加载时触发。不仅仅是在发生回发时。

最新更新