Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786

    salva click e cambia colore

    Salve,

    ho una pagina xhtml e css che presenta suddivisi in celle dei links:

    codice:
    ...
      <tr>
        <td id="1">Cella 1 </td>
        <td id="2">Cella 2 </td>
      </tr>
      <tr>
        <td id="3">Cella 3 </td>
        <td id="4">Cella 4 </td>
      </tr>
    ...
    Tramite js è possibile per caso passando l'id della cella fargli cambiare colore di sfondo e ricliccandola farla tornare normale ?

    inoltre deve eserci la possibilità di cliccare + celle, e tutte le celle cliccate devono essere "salvate" in un campo di testo presente sulla pagina.

    codice:
    <input name="id" type="hidden" id="id" value="" />
    separando i vari id da virgola.


    esempio pratico:
    ======================
    clicco sulla cella 1 e sulla cella 3

    mi cambia il colore di sfondo alle celle sudette e mi "salva" del campo di testo: 1,3 così:

    codice:
    <input name="id" type="hidden" id="id" value="1,3" />


    si può fare una cosa del genere con js ?

    grazie !

    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    up
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <script>
    function colora(v) {
      obj = document.getElementById("td"+v)
      dst = document.getElementById("ids")
      if (obj.style.backgroundColor!="red") {
        dst.value += (dst.value=="")?v:","+v;
        obj.style.backgroundColor="red";
      } else {
        obj.style.backgroundColor="white";
      } 
    }
    </script>
    <table><tr>
    <td id="td1">Cella 1 </td>
    <td id="td2">Cella 2 </td>
    </tr></table>
    <input name="ids" type="text" id="ids" value="" />
    c'e' qualche modifica introdotta per la fase di test... inoltre ho modificato vari id e name: non possono essere costituiti da soli numeri o essere termini riservati... ad esempio "id"

    ciao
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    grazie mille !

    Br1 6 bravissimo

    lo scritp è perfetto, ma c'è un'altra cosa da sistemare, se riclicco una cella selezionata, mi toglie il colore da essa ma non il numero dalla casella di testo.

    grazie

    ciao
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    se riclicco una cella selezionata, mi toglie il colore da essa ma non il numero dalla casella di testo.
    Basta chiedere...
    codice:
    <script>
    function colora(v) {
      obj = document.getElementById("td"+v)
      dst = document.getElementById("ids")
      if (obj.style.backgroundColor!="red") {
        dst.value += (dst.value=="")?v:","+v;
        obj.style.backgroundColor="red";
      } else {
        oldv = dst.value.split(",");
        newv = "";
        for (var i=0; i[list=1]
    ciao
    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    grazie mille

    solo un'ultima cosa:

    ho provato a cambiare colore anche al testo e non va più

    come mai ?

    codice:
    <script>
    function colora(v) {
      obj = document.getElementById("td"+v)
      dst = document.getElementById("ids")
      if (obj.style.backgroundColor!="#FFE1E1") {
        dst.value += (dst.value=="")?v:","+v;
        obj.style.backgroundColor="#FFE1E1";
    	obj.style.color="#990000";
      } else {
        oldv = dst.value.split(",");
        newv = "";
        for (var i=0; i[list=1]
    grazie di cuore !

    ciao
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    ho risolto così e sembra funzionare

    codice:
    <script>
    function colora(v) {
      obj = document.getElementById("td"+v)
      dst = document.getElementById("ids")
      if (obj.style.selezionato!="si") {
        dst.value += (dst.value=="")?v:","+v;
        obj.style.selezionato="si";
    	obj.style.backgroundColor="#FFE1E1";
    	obj.style.color="#820000";
      } else {
        oldv = dst.value.split(",");
        newv = "";
        for (var i=0; i[list=1]
    grazie per tutto

    ciao
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Cosa sarebbe questo:
    obj.style.selezionato="si";
    :master:

    ciao
    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

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    Originariamente inviato da br1
    Cosa sarebbe questo:
    codice:
    obj.style.selezionato="si";
    :master:

    ciao
    nulla, lo messo solo perchè se faccio così:

    codice:
    <script>
    function colora(v) {
      obj = document.getElementById("td"+v)
      dst = document.getElementById("ids")
      if (obj.style.backgroundColor!="#FFE1E1") {
        dst.value += (dst.value=="")?v:","+v;
        obj.style.backgroundColor="#FFE1E1";
    	obj.style.color="#990000";
      } else {
        oldv = dst.value.split(",");
        newv = "";
        for (var i=0; i[list=1]
    non funziona.

    A quanto sembra non va perchè non gli piace il colore nel formato #FFE1E1

    infatti se metto red al posto di #FFE1E1 funziona

    il motivo di
    codice:
    obj.style.selezionato="si";
    è perchè non ho trovato altra soluzione per farlo funzionare

    cmq. grazie ancora per tutto

    ciao
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

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.