Ciao ragazzi, nuovamente a chiedervi una mano
Ho un problema con uno script che funziona tutto per benino ma mi servirebbe un reload dopo la chiamata ajax post.
Potrei farlo temporizzando ma ho provato, è brutto perchè la pagina riparte dall’header.
uno script php aggiorna mysql e mette a disposizione dei campi da affittare
delle checkbox permettono di selezionare gli orari liberi.
cliccando la checkbox prescelta esegue la chiamata ajax, questa rimanda a somma.php
che aggiorna il db e prenota l’orario, tutto funziona senza problemi.
il mio problema è che dopo l’aggiornamento dovrei eseguire un reload per poter rileggere il db e impostare su impegnato l’orario appena scelto.
Cosa che fà se eseguo F5, ma è brutto dovrebbe essere automatico dopo l’aggiornamento.
Mi potete dire se è possibile un reload dopo la chiamata?
Posto la parte interessata.
codice:<script language="javascript"> sport=''; idcampo=''; ora1=''; ora2=''; giorno=''; prezzo =''; function cliccato(quale) { s =quale.value; if (quale.checked) { var dati = s.split("-"); myVar=confirm("Stai prenotando per :\n" + dati[0] +" campo numero " +dati[1] +"\n" + "per il giorno " + dati[4] + " dalle ore "+dati[2] + " alle ore "+dati[3] +" al prezzo di €. "+dati[5]+ "\n\n Confermi ?"); if(myVar=="0") { document.theForm.scelto.disabled = true; }else{ if(document.getElementById) { sport = document.getElementById("sport").value ; idcampo = document.getElementById("idcampo" ).value ; ora1 = document.getElementById("ora1").value ; ora2 = document.getElementById("ora2").value ; giorno = document.getElementById("giorno").value ; prezzo = document.getElementById("prezzo").value ; } document.getElementById("sport").value= dati[0] ; document.getElementById("idcampo").value= dati[1] ; document.getElementById("ora1").value= dati[2]; document.getElementById("ora2").value= dati[3] ; document.getElementById("giorno").value= dati[4] ; document.getElementById("prezzo").value= dati[5] ; } } if(myVar>0) { inviaXHR(obj,"somma.php"); } } </script> <script> function istanzaXHR() { var obj; if (window.XMLHttpRequest) { // Non Internet Explorer obj = new XMLHttpRequest(); } else if (window.ActiveXObject) { // Internet Explorer obj = new ActiveXObject("Microsoft.XMLHTTP"); } return obj; } obj=istanzaXHR(); function onStateChange() { // Cambiamento Stato if (obj.readyState == 4) { // Caricamento Avvenuto if (obj.status == 200) { // con successo document.getElementById("risultato").innerHTML=obj.responseText; // risultato } else { document.getElementById("risultato").innerHTML="nessuna scelta valida."; alert("Errore: "+obj.statusText); } } } function inviaXHR(obj,url) { try { obj.open("POST", url, true); // apro la comunicazione document.getElementById("risultato").innerHTML="..."; obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); obj.onreadystatechange = onStateChange; ora1=escape(document.theForm.ora1.value); ora2=escape(document.theForm.ora2.value); giorno=escape(document.theForm.giorno.value); idcampo=escape(document.theForm.idcampo.value); sport=escape(document.theForm.sport.value); prezzo=escape(document.theForm.prezzo.value); obj.send("idcampo="+idcampo+"&ora1="+ora1+"&ora2="+ora2+"&sport="+sport+"&giorno="+giorno+"&prezzo="+prezzo); // Trasferimento dati a somma.php per aggiornare mysql. } catch (e) { document.getElementById("risultato").innerHTML=" Nessuna scelta valida!"; alert("Errore: "+e); } } </script>

Rispondi quotando