Inserire record senza abbandonare la pagina

  • Creatore Discussione Creatore Discussione Bivio
  • Data di inizio Data di inizio
Continuando ad usare il metodo GET puoi modificare cosi
Codice:
//aggiungi un parametro alla funzione
function insert_con_ajax(valore,valore1){    
        // e lo aggiungi alla chiamata
        xmlHttp.open('GET', 'request.php?valore='+valore+'&valore1='+valore1, true);
    
        xmlHttp.onreadystatechange = function inserisci() {
   
            if(xmlHttp.readyState == 4) {
        
                if (xmlHttp.status == 200) {            
                    // stampa nel div con id messaggio tutto ciò che va in output nella pagina reques.php 
                    document.getElementById("messaggio").innerHTML=xmlHttp.responseText;             
           
                }
            }  
        };     
        xmlHttp.send(null);
    }

poi nel file php lo recuperi cosi

PHP:
// recuperi il valore
$valore = $_REQUEST['valore'];
$valore1 = $_REQUEST['valore1'];

la funzione la richiami in questo modo
HTML:
<input type="text" id="valore" name="valore"/>
<input type="text" id="valore1" name="valore1"/>
<input type="button" value="Inserisci" onclick="insert_con_ajax(prendiValore('valore'),prendiValore('valore1'));"/>

Se hai molti dati da passare ti conviene considerare il metodo POST ma visto che non l'ho mai usato prima di postarti un esempio dovrei fare delle prove
 
Continuando ad usare il metodo GET puoi modificare cosi
Codice:
//aggiungi un parametro alla funzione
function insert_con_ajax(valore,valore1){    
        // e lo aggiungi alla chiamata
        xmlHttp.open('GET', 'request.php?valore='+valore+'&valore1='+valore1, true);
    
        xmlHttp.onreadystatechange = function inserisci() {
   
            if(xmlHttp.readyState == 4) {
        
                if (xmlHttp.status == 200) {            
                    // stampa nel div con id messaggio tutto ciò che va in output nella pagina reques.php 
                    document.getElementById("messaggio").innerHTML=xmlHttp.responseText;             
           
                }
            }  
        };     
        xmlHttp.send(null);
    }

poi nel file php lo recuperi cosi

PHP:
// recuperi il valore
$valore = $_REQUEST['valore'];
$valore1 = $_REQUEST['valore1'];

la funzione la richiami in questo modo
HTML:
<input type="text" id="valore" name="valore"/>
<input type="text" id="valore1" name="valore1"/>
<input type="button" value="Inserisci" onclick="insert_con_ajax(prendiValore('valore'),prendiValore('valore1'));"/>

Se hai molti dati da passare ti conviene considerare il metodo POST ma visto che non l'ho mai usato prima di postarti un esempio dovrei fare delle prove
Ok grazie, ancora una cosa, siccome i dati che inserisco li visualizzo anche ho trovato un esempio con jqery che carica un div senza ricaricare la pagina, l'ho provato e funziona tutto correttamente, ma vorrei sistemare due cose
1) Il messaggio che viene stampato quando vengono salvati i dati, come faccio a farlo scomparire dopo tot secondi visto che non ricarico la pagina?
2) Sai il modo i azzerare i contenuti dei form una volta cliccato su invia?
 
Mi riferisco sempre al mio esempio perchè a jquery non sono ancora arrivato

1) Il messaggio che viene stampato quando vengono salvati i dati, come faccio a farlo scomparire dopo tot secondi visto che non ricarico la pagina?
Codice:
document.getElementById("messaggio").innerHTML="";
2) Sai il modo i azzerare i contenuti dei form una volta cliccato su invia?
Codice:
document.getElementById("valore").value = "";

Codice:
var xmlHttp = getXmlHttpObject();
    
    function pulisci_div() {
        document.getElementById("messaggio").innerHTML=""; 
    }
    
    function insert_con_ajax(valore,valore1){    
        
        // richiamiamo tra 5 secondi la funzione pulisci div
        setTimeout('pulisci_div()', 5000);
        
        xmlHttp.open('GET', 'reques.php?valore='+valore+'&valore1='+valore1, true);
    
        xmlHttp.onreadystatechange = function inserisci() {
            //ripuliamo i campi
            document.getElementById("valore").value = "";
            document.getElementById("valore1").value = "";
            
            if(xmlHttp.readyState == 4) {
        
                if (xmlHttp.status == 200) {            
                   
                    document.getElementById("messaggio").innerHTML=xmlHttp.responseText;             
                                 
           
                }
            }  
        };     
        xmlHttp.send(null);
    }
 

Discussioni simili