2011-07-18 27 views
18

Devo inviare alcuni parametri a un IFRAME con il metodo POST. Ho letto qui Setting the HTTP request type of an <iframe> che non è possibile. Sto pensando a una soluzione in Javascript ma non riesco a implementarla, quindi non posso testare se è una soluzione valida per questo problema. Voglio chiedere se qualcuno ha lo stesso problema e se è possibile risolvere e in caso positivo come?Come inviare parametri a Iframe con una richiesta HTTP POST

+0

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

risposta

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

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

solo fare il forma invisibile e anche l'iframe .. e poi fai un modulo invia tramite js – walialu

16

Come utilizzare l'attributo di destinazione del modulo per puntare 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

esattamente quello che ho risposto 16 minuti fa -.- – walialu

+1

Appena notato il tuo. Ho votato il tuo. – KishoreK

+0

In questo modo si risolve il problema con tutti i browser ad eccezione di Internet Explorer 7. Avete qualche suggerimento per questo? – jRicca

8

Solo per dare un concreto esempio di lavoro

<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> 
Problemi correlati