Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619

    Innerhtml per cambiare testo di un link

    Ciao,
    devo cambiare il testo di un link al suo click.

    Il tag a ha id="ricerca"

    uso questo codice in una funzione richiamata dal link:
    codice:
    var ricerca = document.getElementById("ricerca");
    ricerca.className = search == 0 ? "tab4" : "activetab4";
    ricerca.value = search == 0 ? "Cerca" : "Chiudi";
    search = search == 0 ? 1 : 0;
    La prima riga funziona, la seconda no.

  2. #2

    Re: Innerhtml per cambiare testo di un link

    Originariamente inviato da Graboid
    codice:
    var ricerca = document.getElementById("ricerca");
    ricerca.className = search == 0 ? "tab4" : "activetab4";
    ricerca.value = search == 0 ? "Cerca" : "Chiudi";
    search = search == 0 ? 1 : 0;
    Prova così:
    codice:
    var ricerca = document.getElementById("ricerca");
    ricerca.className = search == 0 ? "tab4" : "activetab4";
    ricerca.text = search == 0 ? "Cerca" : "Chiudi";
    search = search == 0 ? 1 : 0;
    Se ricerca.text non è read-only dovrebbe andare!

    PS: Se non l'hai, installa FireFox, poi installa in FireFox il plugin FireBug ... quanti problemi risolti debuggando il javascript!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Ho sia firefox che firebug ma non mi dava nessun errore.

    Con ricerca.text mi da errore. "setting a property that has only a getter" quindi deduco che text sia un solo lettura.

    Al posto di value avevo provato con innerHtml ma anche quello non mi funziona, pur non dando errori.

    Altre possibilità o cmq esempi funzionanti anche fatti in altro modo?

  4. #4
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Che faggiano.

    innerHTML si scrive con html tutto maiuscolo e io scivevo innerHtml.

    Il codice giusto per la funzione è
    codice:
    var ricerca = document.getElementById("ricerca");
    ricerca.className = search == 0 ? "tab4" : "activetab4";
    ricerca.innerHTML = search == 0 ? "Cerca" : "Chiudi";
    search = search == 0 ? 1 : 0;
    Ovviamente ricordandosi di settare search fuori dalla funzione.

  5. #5
    Originariamente inviato da Graboid
    Ho sia firefox che firebug ma non mi dava nessun errore.
    Mica dicevo per gli errori eventuali, dicevo che si può navigare nel DOM del documento per curiosare tutte le proprietà e gli attributi dei vari elementi!
    (è così che ho trovato il .text)
    Originariamente inviato da Graboid
    Con ricerca.text mi da errore. "setting a property that has only a getter" quindi deduco che text sia un solo lettura.
    Esattamente ... è read only
    Buono che hai trovato la maniera assegnando il nuovo valore a innerHTML .. cavoli! ci dovevo pensare!

    Buona così
    Ciao!
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

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.