Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    5

    Attributo name del bottone

    Salve a tutti, premetto che sono un principiante, sto cercando di utilizzare l'attributo "name" per identificare quale bottone viene premuto.
    Nelle mie intenzioni questo script dovrebbe scrivere due testi diversi in due posti diversi a seconda di quale bottone viene premuto però il risultato è che scrive sempre lo stesso testo nello stesso punto.
    Non riesco a trovare l'errore.
    Qualcuno mi può dare un aiutino? Grazie.

    codice HTML:
    <html>
    <head>
    <script>
        function test()
        {
            var x = document.getElementById("bottone").name;
            if (x === "but1")
            {
                document.getElementById("prova1").innerHTML = x;
            }
            else if (x === "but2")
            {
                document.getElementById("prova2").innerHTML = x;
            }
            else
            {
                
            }
            
        }
    </script>
    </head>
    
    <body>  
        <input type="button" value="bottone 1" name="but1" id="bottone" onclick="javascrip:test()"/>
        <input type="button" value="bottone 2" name="but2" id="bottone" onclick="javascript:test()"/>
        <br><br>
        <div id="prova2">
            testo 1
        </div>
        <div id="prova1">
            testo 2
        </div>
        
    </body>
    </html>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non possono esistere due oggetti nella pagina con lo stesso ID.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    5
    L'ho modificato in questo modo però continua a non funzionare.

    codice:
    <html>
    <head>
    <script>
        function test()
        {
            var x = document.getElementById("bottone1").name;
            if (x === "but1")
            {
                document.getElementById("prova1").innerHTML = x;
            }
            else {}
    
            var y = document.getElementById("bottone2").name;
            if (y === "but2")
            {
                document.getElementById("prova2").innerHTML = y;
            }
            else {}
        }
    </script>
    </head>
    
    <body>  
        <input type="button" value="bottone 1" name="but1" id="bottone1" onclick="javascrip:test()"/>
        <input type="button" value="bottone 2" name="but2" id="bottone2" onclick="javascript:test()"/>
        <br><br>
        <div id="prova2">
            testo 1
        </div>
        <div id="prova1">
            testo 2
        </div>
    </body>
    </html>

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Salve a tutti, premetto che sono un principiante, sto cercando di utilizzare l'attributo "name" per identificare quale bottone viene premuto.
    Ciao, a prescindere da ciò che stai cercando di fare ci sono diverse cose che non vanno in quel codice, prima di tutto il codice HTML risulta essere non valido perché manca un DTD, un <title>, e altri elementi. Ti consiglio intanto di controllare il codice in un validatore (vedi questo online) quindi correggere tutti i vari errori prima di proseguire.

    Per il Doctype ti consiglio di usare quello per l'attuale HTML 5:
    codice:
    <!DOCTYPE html>
    Altra cosa, lo pseudo-protocollo javascript: che stai usando nell'attributo onclick è attualmente inutile (tra l'altro, nel primo hai dimenticato una "t"), puoi evitare di usarlo.

    Venendo al dunque, il metodo che stai usando per "recuperare" il riferimento del pulsante cliccato è inconsueto o quantomeno non è corretto. In genere, in situazioni del genere, torna sicuramente utile l'uso della parola chiave this. Consiglio intanto di dare una lettura a qualche guida di base per avere una panoramica di questi concetti, vedi qui ad esempio.

    sto cercando di utilizzare l'attributo "name" per identificare quale bottone viene premuto.
    Usando this per questo scopo, l'attributo name non ti servirebbe nemmeno.

    Qui un semplice esempio da cui puoi prendere spunto:
    codice:
    <!DOCTYPE html>
    <html lang="it">
       <head>
          <title>Esempio</title>
          <meta charset="utf-8">
          <script>
             function clickPulsante(me) {
                document.getElementById('risultato').innerHTML = 'Hai cliccato ' + me.value;
             }
          </script>
       </head>
    
       <body>  
          <input type="button" value="bottone 1" onclick="clickPulsante(this)" >
          <input type="button" value="bottone 2" onclick="clickPulsante(this)" >
          <br><br>
          <div id="risultato"></div>
       </body>
    </html>
    Se il risultato che volevi ottenere è differente da questo, prova a chiarire meglio.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    5
    Grazie mille KillerWorm, è esattamente quello che volevo ottenere!
    Grazie anche per i link che mi hai suggerito.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.