2010-09-27 15 views
8

Ho un iframe che punta a un sito moodle. Ho bisogno di passare ad esso il mio nome utente e la mia password, così che quando l'iframe è caricato, sono automaticamente connesso a moodle. Così ho qualcosa di simile:Invio di dati tramite metodo post a un iframe

<div id="iframe" style="width:787px; height:700px;"> 
<iframe id="iframeCon" src ="http://www.somesite.net/moodle/login/index.php" width="100%" height="100%" frameborder="0"> 

</iframe> 

La mia domanda è come inviare il mio nome utente e la password utilizzando il metodo POST a questo URL?

+1

Non utilizzare http senza SSL per farlo. L'invio di password su reti non protette non è mai desiderato. – iankit

+1

possibile duplicato di [Come pubblichi un iframe?] (Http://stackoverflow.com/questions/168455/how-do-you-post-to-an-iframe) –

risposta

22

Per POST di un iframe è necessario utilizzare form target.

<form id="moodleform" target="iframe" 
     method="post" action="http://www.example.com/login/index.php" > 
    <input type="hidden" name="username" value="guest"/> 
    <input type="hidden" name="password" value="guest"/> 
    <input type="hidden" name="testcookies" value="1"/> 
</form> 
<iframe name="iframe"></iframe> 
<script type="text/javascript"> 
    document.getElementById('moodleform').submit(); 
</script> 
+0

L'ho provato, ma è non funziona. Apre semplicemente l'URL "http://www.example.com/login/index.php" in una nuova finestra e non sono ancora registrato. Naturalmente, invece di due "guest", ho inserito le mie credenziali. – misaizdaleka

+0

Funziona per me contro moodle.org. Se è aperto in una nuova finestra, hai omesso il nome "iframe". – bobince

+0

Per quanto strano possa sembrare, ho avuto un problema con 'name =" toframe "'. Cambiandolo in 'name =" frame "' ha funzionato. Quindi forse @misaizdaleka ha avuto un problema con 'name =" iframe "' (potrebbe essere un nome riservato ...). – Yvan