prova se va bene :master:

il parametro form è l'id del form

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);
    }




}