2015-02-27 4 views
6

Come pubblicare il valore iframe in php.come pubblicare un valore di campo che è disponibile in iframe in php

Esempio: Username.php

<form action='data.php' method='post'> 
    <input type='text' name='username' id='username'> 
    <iframe src='password.php'></iframe> 
<input type='submit'> 
</form> 

password.php

<input type='text' name='password' id='passwprd'> 

voglio postare password e nome utente per il valore data.php

risposta

1

provare questo,

<form action='data.php' method='post'> 
     <input type='text' name='username' id='username'> 
     <iframe id="iframe_pass" src='password.php'> 

     </iframe> 

     <input id="submit" type='button' value="submit"> 
    </form> 
<p id="password_from_frame"></p> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
    <script> 
     $("#submit").on('click', function(){ 

      var pass_field = $("#iframe_pass").contents().find("#password"); 
      var username = $("#username"); 

      var data = {username : username.val(), password : pass_field.val()}; 
// make an ajax call to submit form 
      $.ajax({ 
       url : "data.php", 
       type : "POST", 
       data : data, 
       success : function(data) { 
        console.log(data); 
        alert(data); 
       }, 
       error : function() { 

       } 
      }); 


     }); 
// you can use keyup, keydown, focusout, keypress event 
    $("#iframe_pass").contents().find("#password").on('keyup', function(){ 

     $("#password_from_frame").html($(this).val()); 


    }); 

    </script> 

e password.php

<input type='text' name='password' id='password'> 

e sul data.php utilizzare il print_r per inviare di nuovo il valore per la richiesta ajax

print_r($_POST); 
+1

perché è stato votato? –

+0

qualcuno ti odia penso –

+1

nessun problema compagno –

0

Se ho capito bene la tua domanda, è possibile memorizzare il nome utente e la password nelle variabili di sessione PHP e quindi è possibile recuperare tali dati dalle variabili di sessione in data.php. Dato che hai due valori, è meglio memorizzarli in un array e quindi assegnare l'array alla sessione.

+0

Is ci sono altre soluzioni tranne questa sessione? –

+0

Prova cookie .. :) – Makesh

+0

Conosco solo i cookie tranne le sessioni ... Scusa se non so se ci sono altre soluzioni per questo ... Ma come so non possiamo passare i dati tramite URL usando il POST .. – phpfresher

2

È possibile farlo senza sessione o cookie ma con javascript puro. Dà all'iframe un ID.

<iframe id='iframePassword' src='password.php'></iframe> 

È possibile prendere il nome utente con questo

var username = document.getElementById('username').value; 

È possibile accedere al campo della password all'interno del iframe con questo.

var ifr = document.getElementById('iframePassword'); 
var password = ifr.contentWindow.document.getElementById('passwprd').value; 

Ora fa una chiamata AJAX con username e password.

+0

Qual è lo scopo di inserire la sezione della password nell'iframe se si sta ottenendo di nuovo il valore utilizzando nuovamente JavaScript? –

+0

@SimonH meglio chiedere alla persona che ha postato la domanda. La sua risposta che affronta il suo problema :-) –

+0

che è un esempio. La mia app ha quasi 50 campi. È impossibile menzionarli tutti. Così ho spiegato attraverso un esempio. –

Problemi correlati