Buon giorno a tutti,
volevo chiedere un aiuto per un problema che sto riscontrando con ajax e con l'invio, via POST, di valori presenti negli input type hidden (ed anche password).
Questo è il mio codice js :
codice:
     function formget(f, url,divid) {
	var poststr = getFormValues(f);
	postData(url, poststr,divid);
      }

function postData(url, parameters,divid){
     var xmlHttp = AJAX();
     xmlHttp.onreadystatechange =  function(){
     if(xmlHttp.readyState > 0 && xmlHttp.readyState < 4){						         
              document.getElementById(divid).innerHTML=loadingmessage;
     }
     if (xmlHttp.readyState == 4) { 				 
       document.getElementById(divid).innerHTML=xmlHttp.responseText;
     }

    }
         xmlHttp.open("POST", url, true);
         xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");			
         xmlHttp.send(parameters);
 }
			

function getFormValues(fobj){
 var str = "";
 var valueArr = null;  
 var val = ""; var cmd = ""; 
 for(var i = 0;i < fobj.elements.length;i++){ 
          switch(fobj.elements[i].type){ 
               case "text": 
               case "hidden": 
               case "password": 
                str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
                  break; 
              case "textarea":
                   str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
                   break;
              case "select-one":
                str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                 break; 
             case "select-multiple":
                 str += fobj.elements[i].name + "=" +  fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&"; 
                 break;
             case "checkbox":
                 if(fobj.elements[i].checked == true){ 
                   str += fobj.elements[i].name + "=" + fobj.elements[i].value + "&"; 
                 } 
                break;
              case "radio": 
                if(fobj.elements[i].checked == true){ 
                    str += fobj.elements[i].name + "=" + fobj.elements[i].value + "&"; } break; 
                 }
          }
              str = str.substr(0,(str.length - 1)); return str; 
        }
questo invece è il mio codice php di esempio:
codice:
<form id="aForm2">
    <label>Lunghezza prodotto: (mm)


       <input type="text" name="lung_prod" id="lung_prod" value="" size="4" tabindex="50"  />
   </label>
     <label>Quantit&agrave; di vendita:

 <input type="text" name="quantita" id="quantita" value="" size="4" tabindex="60"  />
</label>
  <input type="hidden" name="user" value="<?php echo $_SESSION['user_id']?>" />

<input type="button" name="Send" value="Send" onclick="javascript: formget(this.form, 'controller/elabora_richiesta.php','output2');">
</form>
La mia domanda è : perchè la funzione getFormValues riconosce tutti i vari elementi input types tranne hidden e password?

Vi ringrazio per l'aiuto