- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- [Risolto] Problema con http.responseText.split (forse)
-
[Risolto] Problema con http.responseText.split (forse)
Salve,
ho realizzato questo piccolo script.
All'inizio nella pagina si ha un'immagine e il testo così:[ICO] Testo
Se si clicca sull'immagine [ICO] viene invocata la funzione modifica() e al posto del testo apparirà un piccolo form composto da una textbox e da 2 pulsanti, uno per inviare e uno per tornare allo stato iniziale (quindi far scomparire questo form di modifica).
Il resto del motore ajax richiama la pagina mod.php?&join= che restituisce 0 se la sessione è scaduta o 1 se è stato eseguito il cambiamento.
Successivamente viene eseguito lo split dei risultati
results = http.responseText.split(";");
viene nascosto il form delle modifice e viene visualizzata la scritta opportuna.Fin qui nessun problema.
Ma se per caso ci viene in mente di effettuare la modifica una seconda volta, andiamo a cliccare sull'immagine [ICO] ci riappare il bel form, lo compiliamo, lo inviamo e non succede niente.
Rimane sullo schermo il form per la modifica come se non sia stato eseguito uno degli if relativi a results[0]
Dico questo perchè in realtà basta un refresh e si vede che il nome è stato cambiato, ciò significa che la pagina mod.php?&join= è stata richiamata.Qualcuno ha idea di cosa accade e di come posso risolvere?
Qui sotto vi fornisco il codice incriminatofunction modifica()
{
document.getElementById('span_modifica').innerHTML='<input type="text" id="nomesito"><input type="button" value="Modifica" name="modifica" onclick="mod_nomesito()"><input type="button" value="Chiudi" name="chiudi" onclick="chiudi_nomesito()">';
}var urlmod2 = "mod.php?&join=";
function handleHttpResponse_mod() {
if (http.readyState == 4) {
results = http.responseText.split(";"); if (results[0]==0) { document.getElementById('span_modifica').innerHTML= 'SESSIONE SCADUTA'; } if (results[0]==1) { document.getElementById('txt_nomesito').innerHTML=document.getElementById('nomesito').value; document.getElementById('span_modifica').innerHTML=""; }
}
}
function mod_nomesito() {
var myTextField = document.getElementById('nomesito').value; http.open("GET", urlmod2 + escape(myTextField), true);
http.onreadystatechange = handleHttpResponse_mod;
http.send(null);
}
function chiudi_nomesito() {
document.getElementById('modifica').innerHTML="";
}
-
risolto