Salve a tutti, seguendo la guida, ho provato uno script ajax, che mi controlla l'esistenza di una mail, lo script funziona.
Volevo aggiungere un preload, e allora ho fatto in questo modo:
codice:
function eseguiRichiesta() {
document.getElementById('load').style.display = "block"; // visulaizza il layer con la scritta Loading...
var http_request = false;
nCampo = document.form1.mail.value
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// Vedi note sotto
}
} 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 :( Non riesco a creare una istanza XMLHTTP');
return false;
}
http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open('GET', '../support/risProvaMail.asp?mail='+nCampo, true);
http_request.send(null);
}
function alertContents(http_request) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById('load').style.display = "none"; //nasconde il layer con la scritta loading
strRes = http_request.responseText;
target = document.getElementById('risultato');
target.innerHTML = strRes;
} else {
alert('Si è verificato un problema con la richiesta'+http_request.status);
}
}
}
questo form ha un campo di testo input (id=mail) e un bottone con dentro onclick="eseguiRichiesta()", e ovviamente due div con id = load e risultato.
il problema sta nel fatto che se clicco invia la prima volta, tutto funziona, ma se riscrivo la mail, e riclicco su invia, mi da un'errore: "Necessario oggetto".
se ometto le mie modifiche tutto funziona, ma dove sbaglio???
Grazie, ciao.