Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    AJAX - Submit di una FORM e recupero risposta.

    Salve,
    sto smanettando un po con AJAX. Sono riuscito a fare un po di cose, come inviare una richiesta al server e ricevere i dati, etc.
    Adesso vorrei sapere da voi, come fare il submit di una FORM e ricevere la risposta dalla pagina presente nell'action della FORM, senza cambiare pagina sul browser.
    A me servirebbe una funzione javascript che prenda dinamicamente tutti i campi della FORM, componga la stringa variabile=valore e la passi poi alla funzione che fa il post alla pagina di destinazione.
    Ho fatto qualcosa, ma ottengo sempre il cambio di pagina sul browser...
    Grazie a chi mi aiuterà. Non voglio codice pronto, solo qualche esempio, se ce l'avete.

  2. #2
    Fa niente. Ho già risolto.

  3. #3
    posso chiederti l'esempio ??
    devo fare la stessa cosa solo che non riesco a venirne fuori

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non so se ti possa essere utile: io uso questo
    codice:
    //-----------------------------------------------------------------
    //crea la stringa dei parametri da utilizzare con ajax
    //-----------------------------------------------------------------
    function crea_parametri(form)
    {
        if(typeof(form) == "undefined")
            return;
        else if(typeof(form) == "string")
        {
            var f = document.getElementById(form);
            if(!f) return;
        }
        else if(typeof(form) == "object")
            var f = form;
        
        
        var elements = f.elements;
        if(!elements) return;
        var n = elements.length;
        var s = [];
        for(var i = 0; i < n; i++)
        {
            var element = elements[i];
            var name = element.name;
            if(name != "")
            {
                var type = element.type;
                var value = encodeURIComponent(element.value);
                if(type == "text" || type == "file" || type == "password" )
                {
                    s.push(name + "=" + value);
                }
                
                else if(type == "hidden")
                {
                    //non considero gli elementi riservati quali:
                    //__EVENTTARGET, __EVENTARGUMENT, __VIEWSTATE, __EVENTVALIDATION
                    if(name.indexOf("__", 0) == -1) s.push(name + "=" + value);
                }
                
                else if(type == "checkbox" || type == "radio" )
                {
                    if(element.checked)
                    {
                        s.push(name + "=" + value);
                    }            
                }
                else if(type == "textarea")
                {
                    s.push(name + "=" + value);
                }
                
                else if(type == "select-one" || type == "select-multiple")
                {
                    var c = options_value_selezionati_join(element) + "";
                    if(c != "") s.push(name + "=" + c);
                }
                
            }
            
        }
        s = s.join("&");
        return s;
    
    
        //------------------------------------------------------------
        //restituisce gli elementi value selezionati da una lista
        //separati da virgola
        //------------------------------------------------------------
        function options_value_selezionati_join(lista)
        {
    	    var s = "";
    	    for(var i = 0; i < lista.options.length; i++)
    	    {
    		    if(lista.options[i].selected) s += "," + lista.options[i].value;
    	    }
    	    return s.substr(1);
        }
    
    
    
    
    }
    Pietro

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.