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 :
questo invece è il mio codice php di esempio: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; }
La mia domanda è : perchè la funzione getFormValues riconosce tutti i vari elementi input types tranne hidden e password?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à 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>
Vi ringrazio per l'aiuto

Rispondi quotando