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>