Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    39

    [Ajax] Redirect:come aggiungo il redirect a questa funzione?

    Ciao a tutti. Ho il form seguente che chiama il programma xmlhttpPost Ajax onSubmit, il quale mi restituisce in una div il risultato dell'elaborazione di una pagina php.
    Problema:dopo la validazione, vorrei redirezionare l'utente ad un'altra pagina con Ajax aggiungendo un parametro alla funzione xmlhttpPost. Potete aiutarmi?

    codice:
    <form action="Valida.php" method="post" onsubmit="xmlhttpPost('Valida.php', 'validazione', 'MyResult', '[img]/imgages/pleasewait.gif[/img]'); return false;"><input type="text" name="via" id="via" value="via"/></form>
    <div id="MyResult"></div>
    xmlhttpPost:

    codice:
    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[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; }

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Come gia' detto, non e' permesso aprire due discussioni con il medesimo problema, e non vale cambiare una virgola per renderle differenti.

    Per chi non avesse la pazienza di aspettare lo spostamento o la chiusura dell'altra, puo' contribuire nel forum PHP.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.