Form con cambio di pagina

  • Creatore Discussione Creatore Discussione Valshy
  • Data di inizio Data di inizio

Valshy

Nuovo Utente
14 Mag 2011
23
0
0
Ciao a tutti, ho realizzato un forum un ajax molto semplice. Il form passa i dati ad una pagina che li elabora. Il risultato della pagina viene visualizzato nella pagina del form all'interno di un div:

pagina iscrizione.php:

<div id="MyResult" name="MyResult"></div>

<form id="form_ajax" name="MyForm" method="post" onsubmit="xmlhttpPost('iscriviti_go.php', 'MyForm', 'MyResult', 'Wait...'); return false;">

<label for=nome>
Nome:
</label>
<input type=text name=nome>

<label for=pass>
Password:
</label>
<input type=text name=pass>

<label for=pass2>
Reinserisci Password:
</label>
<input type=text name=pass2>

<input type=submit value=Iscriviti>

</form>

il form passa i dati alla pagina iscrizione_go.php:

$pass=$_POST['pass'];
$pass2=$_POST['pass2'];
$nome=$_POST['nome'];

if ($pass=$pass2)
{
INSERISCO I DATI NEL DATABASE
echo "iscrizione andata a buon fine";
}

else

{ echo "le password inserite non corrispondono"; }


Una volta che i dati sono passati visualizza all'interno del div myresult della pagina iscrizione.php il risultato della pagina iscrizione_go.php... in sostanza nel div viene scritto: Iscrizione andata a buon fine oppure "Le password inserite non corrispondono" se c'è stato qualche errore.

Lo script js è questo qua

function xmlhttpPost(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) {

// Quando pronta, visualizzo la risposta del form

updatepage(self.xmlHttpReq.responseText,responsediv);

}

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;

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;

}








Il mio problema è che vorrei che, invece di stamparmi la scritta "iscrizione andata a buon fine" sopra al form della pagina iscrizione.php, mi apparisse questa stessa scritta in un altra pagina che possiamo chiamare tipo centro.php. Oppure mi basterebbe che venga fuori scritto "iscrizione andata a buon fine" nella pagina iscrizione.php ma che in quel caso non si visualizzi + il form x iscriversi. Invece mi servirebbe che in caso di errore il form non scompaia... qualcuno sa darmi una mano x realizzare questa cosa? grazie
 

Discussioni simili