Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    39

    Non capisco i Prototype ...

    ESEMPIO:
    codice:
    <script>
    Element.prototype.myFoo = function() {
        console.log(this.form.name);
    
    
    };
    </script>

    Allora.. Se chiamo il Prototype su 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="this.myFoo();">TEST 1</button>
    </form>
    Mi stampa "myformname_1" (cioè il name del form a cui appartiene il button)


    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!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    39
    OK, COLPA MIA ..

    Stavo chiamando il prototipo su un elemento FORM, mentre è fatto per funzionare su un BUTTON...
    Infatti cosi' funziona:

    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('mybtn').myFoo();">TEST 1</button>
    </form>
    Chiedo venia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.