Buon giorno, attraverso lo script che posto di seguito, vorrei sapere cortesemente se è possibile refreshare la pagina,sempre attraverso AJAX, dopo l'invio dei dati con il metodo POST.
codice:
var http_request = false;
function makeRequest(getvar) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
//http_request.overrideMimeType('text/xml');
// See note below about this line
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = function(){
scrivi(getvar);
}
http_request.open('POST', 'edit_in_place/update.php', true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
postvar="campo="+getvar+"&value="+eval("document.forms.dinamicform."+getvar+".value");
http_request.send(postvar);
}
function scrivi(getvar) {
if (http_request.readyState == 4) {
//alert("Error 4" + getvar); alert di prova per vedere se passa il valore getvar
if (http_request.status == 200) {
document.getElementById(getvar).innerHTML = "<a href=\"javascript:void(null);\" onclick=\"change(this,'"+getvar+"')\">"+eval("document.forms.dinamicform."+getvar+".value")+"</a>";
//document.getElementById("result").innerHTML = http_request.responseText;//commento su result perchè non c'è <div id="result"></div> per vedere il risultato
} else {
alert('There was a problem with the request.');
}
}
}
function change(link,textname){
//link.innerText e link.text sono stessa cosa, c'è differenza tra ie e firefox
if(link.innerText){testovecchio=link.innerText}else{testovecchio=link.text}
//riscrivo il contenuto del div
document.getElementById(textname).innerHTML="<input type='text' name='"+textname+"' value='"+testovecchio+"' style='width:80px'><input type='button' value='ok' onclick=\"makeRequest(\'"+textname+"\')\">";
}
pagina invio dati:
codice:
<form name="dinamicform"></form>
Praticamente, ho due parti di una pagina che riepilogano gli stessi dati.
In una delle due ho l'opportunità di cambaire il dato, per inviarlo,tramite la pagina update.php al DB per una Modifica.
Dopo inviato i dati vorrei che si refreshasse la pagina per vederne aggiornato il contenuto.
E' possibile farlo?Se si come?
Grazie mille e buona giornata.