JavaScript - Obtener dato desde un iframe

 
Vista:

Obtener dato desde un iframe

Publicado por Fernanda (13 intervenciones) el 18/01/2013 16:16:52
Hola

tengo una pagina principal donde antes de grabar debo validar si existen datos en una tabla, la consulta la hago a través de un iframe, pero el dato que cargo en el iframe no se actualiza automáticamente, sino que debo presionar el botón 2 veces.

no sé como puedo hacer para que la función javascript tome el dato actualizado desde el iframe sin tener que recargar la página o realizar alguna acción para que los datos se actualicen.

dejo el código para ver si alguien me puede ayudar !!!!



principal.asp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form id="frmCertMod" name="frmCertMod" method="Post">
	<input id="txtMarcaTodo" name="txtMarcaTodo" type="hidden" value="0"/>
	<input id="TieneDatos" name="TieneDatos" type="hidden" value="0"/>
	<table>
		<tr height="50">
			<td nowrap="nowrap" >
				 <input id="btnGrabar" name="btnGrabar" type="button" value="GRABAR" onClick="javascript:ConsultaDatos();javascript:graba_descert()"/>
			</td>
		</tr>
		<tr>
			<td>
				<iframe name="frameGraba"  id="frameGraba" src="" AllowTransparency  border=0 width="100%" frameborder=0 scrolling="yes" style="display:none"></iframe>
			</td>
		</tr>
	</table>
</form>




function javascript

despues de ejecutar la funcion consultadatos() el valor de TieneDatos es 1.
al ejecutar graba_descert() (que se gatilla despues de la consultadatos), el valor de TieneDatos es 0.

Para que se actualice debo presionar de nuevo el botón para que consulte nuevamente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script language="javascript">
 
function graba_descert(){
	if(document.frmCertMod.txtmotivo.value==""){
		alert("Debe Ingresar Motivo");
		return false;
	}
 
 
	if (document.getElementById("TieneDatos").value==0){
		alert("debe Seleccionar al menos un dato para grabar");
		return false;
	}
 
	return true;
}
 
function ConsultaDatos(){
	vlink = "consultar.asp";
	document.getElementById("frameGraba").src = vlink;
}
</script>



PAGINA CONSULTAR.ASP
al mostrar el valor de parent.document.getElementById("TieneDatos").value por pantalla, muestra lo obtenido de la consulta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- #INCLUDE FILE="../session.inc" -->
<%
	s= "select count(*) from temporal"
	set rs=conn_p.execute(s)
 
	TieneDatos = rs(0)
 
end if
%>
<html>
<head>
<script language="javascript">
	   parent.document.getElementById("TieneDatos").value  = "<%=TieneDatos%>";
 
</script>
 
<title></title>
</head>
 
<body>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder