【发布时间】:2015-12-22 10:53:05
【问题描述】:
我的问题是我有一个带有 iframe 的页面,该页面通过 __doPostBack() 调用加载了一个 asp 表单。然后,当我在 doPostBack() 的“刷新”之后尝试在 Javascript 中做某事时,什么都没有。
当我单击 a 标签时,会在 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>
【问题讨论】:
-
不确定我不明白你想要达到什么目标以及具体时间?
-
我只想在 doPostBack 执行后做一些事情。更改表单按钮的功能。
-
doPostBack代码在哪里,什么时候执行,不在你的问题里,请补充 -
您可以在 iframe 上分配一个 onload 事件,但它会在 iframe 加载时触发。不仅仅是在回发发生时。
-
非常感谢@HaukurHaf 这很完美。如果您愿意,可以发表您的评论,如回复,我标记为已解决。
标签: javascript jquery html asp.net iframe