2011-07-18 24 views
18

Tengo que enviar algunos parámetros a un método IFRAME con POST. He leído aquí Setting the HTTP request type of an <iframe> que no es posible. Estoy pensando en una solución en Javascript pero no puedo implementarla, así que no puedo probar si es una solución válida para este problema. Quiero preguntar si alguien tiene el mismo problema y si es posible resolverlo y en caso positivo ¿cómo?Cómo enviar un parámetro al Iframe con una solicitud HTTP POST

+0

Ver http://stackoverflow.com/questions/168455/how-do-you-post-to-an-iframe –

Respuesta

29
<form ... target="hidden_iframe"> 
... 
</form> 

<iframe name="hidden_iframe" ...></iframe> 
+0

acaba de hacer el formar invisible y el iframe también .. y luego hacer un formulario enviar a través de js – walialu

16

¿Qué le parece usar el atributo de destino del formulario para apuntar a iFrame?

<form target="myIframe" action="http://localhost/post.php" method="post"> 
    <input type="hidden" value="someval" /> 
    <input type="submit"> 
</form> 

<iFrame src="" name="myIframe"></iFrame> 
+0

exactamente lo que contesté hace 16 minutos -.- – walialu

+1

Acabo de notar el suyo. Hasta votó el tuyo. – KishoreK

+0

De esta forma se soluciona el problema con todos los navegadores excepto con Internet Explorer 7. ¿Tiene alguna sugerencia al respecto? – jRicca

8

Sólo para dar un ejemplo concreto de trabajo

<form id="loginForm" target="myFrame" action="https://localhost/j_spring_security_check" method="POST"> 
<input type="text" name="j_username" value="login" /> 
<input type="text" name="j_password" value="password" /> 
<input type="submit"> 
</form> 

<iframe name="myFrame" src="#"> 
    Your browser does not support inline frames. 
</iframe> 

// Hide the form and do the submit 
<script> 
$(document).ready(function(){ 
var loginform= document.getElementById("loginForm"); 
loginform.style.display = "none"; 
loginform.submit(); 
}); 
</script> 
Cuestiones relacionadas