ESEMPIO:
codice:<script> Element.prototype.myFoo = function() { console.log(this.form.name); }; </script>
Allora.. Se chiamo il Prototype su this:
Mi stampa "myformname_1" (cioè il name del form a cui appartiene il button)codice:<form id="myform_1" name="myformname_1" method="POST" action=""> <input type="text" id="pippolo" name="pippoloname" value="PRIMO"> <div id="msg1" name="msgname1">MSG 1</div> <button type="button" id="mybtn" name="mybtn" onclick="this.myFoo();">TEST 1</button> </form>
Ma, se provo a chiamarlo su un elemento diverso da this:
codice:<form id="myform_1" name="myformname_1" method="POST" action=""> <input type="text" id="pippolo" name="pippoloname" value="PRIMO"> <div id="msg1" name="msgname1">MSG 1</div> <button type="button" id="mybtn" name="mybtn" onclick="document.getElementById('myform_1').myFoo();">TEST 1</button> </form>
Ottengo:
codice:Uncaught TypeError: Cannot read property 'name' of undefined
Perchè il prototype funziona solo con l'elemento this ??
Grazie a tutti!

Grazie a tutti!
Rispondi quotando
