Ho questo codice che mi fa un post ad una pagina:
La pagina, server, recupera i parametri spediti e li fa vedere sullo schermo. Fin qui non ci sono problemi.codice:function button1_onclick() { submitData("a.aspx", {nome:"pietro"} ); } //***************** /* Questo codice va in un file esterno */ //------------------------------------------------------------------------------------- // crea un form e fa submit passando dati POST // utilizzo: // w = window.open("", "popup", "left=100px, top=100px, width=500px, height=400px,"); // w.focus(); // submitData("a.aspx", {nome:'Pietro', numero:'999', data:'15/3/1999'} , "popup"); //------------------------------------------------------------------------------------- function submitData(url, data, target) { var form = document.createElement("form"); form.action = url; form.target = (target != undefined)? target: "_self"; form.method = "post"; form.style.display = "none"; for(var key in data) addParam(form, key, data[key]); document.body.appendChild(form); form.submit(); document.body.removeChild(form); } function addParam(form, key, value) { if( typeof(form) == "string") form = document.getElementById(form); var input = document.createElement("input"); input.type = "hidden"; input.name = key; input.value = value; form.appendChild(input); }
Adesso aggiungo questo codice, che mi serve per clonare un oggetto generico
L'ultima istruzione, Object.prototype.clone = clone; mi fa una cosa che non riesco a spiegare e risolvere:codice:function clone (deep) { var objectClone = new this.constructor(); for (var property in this) { if (!deep) objectClone[property] = this[property]; else if (typeof this[property] == 'object') objectClone[property] = this[property].clone(deep); else objectClone[property] = this[property]; } return objectClone; } Object.prototype.clone = clone;
Guardando i parametri post ricevuti dalla pagina trovo un parametro chiamato clone con valore proprio la funzione
per essere più chiari, ricevo una variabile
clone="function clone (deep) { var objectClone = new this.constructor(); for (var property in this) { if (!deep) objectClone[property] = this[property]; else if (typeof this[property] == 'object') objectClone[property] = this[property].clone(deep); else objectClone[property] = this[property]; } return objectClone; }"
Non è che mi diate una mano per capire?![]()

Rispondi quotando
]
provo a leggermi la versione inglese forse capirò di più
ma il codice riesco ancora a capirlo. Debbo solo ricordarmi di archiviare il link del tuo articolo 