Ciao,sono alle prime armi con ajax.
Per fare delle prove ho inserito nel mio sito un semplice.js trovato di esempio in rete che mi consenta di visualizzare un div nella home page nel caso la user o password immessa ( gestito da un semplice file .asp) non sia corretta.
Funziona per quanto riguarda i paramentri non corretti , la pagina non fa refresh e il div di alert avvisa l'utente nella stessa pagina, però se immetto i dati corretti per il modo con qui è stato concepito questo script mi carica tutta la pagina all'interno del div pippo mentre io a quel punto vorrei una specie di window.locator.
Vorrei capire reindirizzare l'utente e come "nasce" il div che io ho chiamato pippo nel file .js.
Grazie, di seguito metto i pezzi di codici che sto usando.
----------------------------------------
uso questa chiamata nel form html
<form action="autentica.asp" method="post" name="form" id="form" onsubmit="invio('autentica.asp', 'form', 'pippo', 'Wait...'); return false;">
file .js che visualizza il div pippo
-------------------------------------------------
function invio(strURL,formname,responsediv,responsemsg) {
var xmlHttpReq = false;
var self = this;
// Xhr per Mozilla/Safari/Ie7
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// per tutte le altre versioni di IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
updatepage(self.xmlHttpReq.responseText,responsedi v);
}
else{
// In attesa della risposta del form visualizzo il msg di attesa
updatepage(responsemsg,responsediv);
}
}
self.xmlHttpReq.send(getquerystring(formname));
}
function getquerystring(formname) {
var form = document.forms[formname];
var qstr = "";
function GetElemValue(name, value) {
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
//+ escape(value ? value : "").replace(/\n/g, "%0D");
}
var elemArray = form.elements;
for (var i = 0; i < elemArray.length; i++) {
var element = elemArray[i];
var elemType = element.type.toUpperCase();
var elemName = element.name;
if (elemName) {
if (elemType == "TEXT"
|| elemType == "TEXTAREA"
|| elemType == "PASSWORD"
|| elemType == "BUTTON"
|| elemType == "RESET"
|| elemType == "SUBMIT"
|| elemType == "FILE"
|| elemType == "IMAGE"
|| elemType == "HIDDEN")
GetElemValue(elemName, element.value);
else if (elemType == "CHECKBOX" && element.checked)
GetElemValue(elemName,
element.value ? element.value : "On");
else if (elemType == "RADIO" && element.checked)
GetElemValue(elemName, element.value);
else if (elemType.indexOf("SELECT") != -1)
for (var j = 0; j < element.options.length; j++) {
var option = element.options[j];
if (option.selected)
GetElemValue(elemName,
option.value ? option.value : option.text);
}
}
}
return qstr;
}
function updatepage(str,responsediv){
document.getElementById(responsediv).innerHTML = str;
}
---------------------------------------------------------------
file asp che controlla
' se l'untente esiste il file eseguiva un classico response.......
response.redirect("accesso.asp")
else
%>
' altrimenti il messaggio ( questo lo vedo a video)
<div id="pippo">
<%
response.Write(" nome o password non validi ")
%>
</div>