Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200

    JS: Cambiare valore ad una cella di tabella

    Ciao a tutti.

    Vi chiedo una risposta ad un problema forse semplice ma del quale non ho trovato soluzione (purtroppo, spesso è nelle cose più banali che non riesco a trovare l'adeguata documentazione).

    Data una tabella (R x C) come posso leggere e cambiare il valore ad una determinata cella?

    Spero ci sia la possibilità come per l'oggetto "Select".

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Dovresti dare un id univoco a tutte le celle, poi operare con:
    document.getElementById('ID_TD').innerHTML = "codice HTML nuovo";

    Dovrebbe funzionare in tutti i browser recenti.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Ti ringrazio Michele. Anche se mi hai descritto una soluzione che volevo evitare perchè laboriosa. In fin dei conti, possibile mai che si possa creare una tabella e non si abbia a disposizione un comando appropriato per puntare ad un singolo elemento?

    La tabella in questione, la creo dinamicamente, e la dimensione (numero righe) dipende dalla quantità dei dati da caricare (che non sono costanti). Ciò significa che dovrei assegnare un nome ad ogni riga della tabella così formato XXXYYY dove:

    XXX= Codice mnemonico fisso (es. "rig")
    YYY= Numero progressivo associato alla riga

    In tal modo se vorrò modificare il contenuto della N riga questa si chiamerà "rigN".

    Alquanto laborioso però.

    Ciò che vorrei realizzare è uno scrolling su una porzione di tabella senza utilizzare le barre di scorrimento.

    Se ti viene in mente qualcosa a proposito mi piacerebbe conoscerla.

    Grazie. Ciao :tongue:

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Be`, una pagina Web non e` un foglio excel (o gnumeric, se parli linux).

    Le pagine Web sono fatte per mostrare delle cose, l'interattivita` e` un'aggiunta a posteriori, che costa in termini di programmazione.

    Comunque ci sono dei trucchi che si possono usare. In particolare si puo` usare il this, oppure si puo` studiare la forma migliore per passare il nome ad un funzione JS.

    Se poi abbandoni la tabella e passi ai <div>, puoi usare le funzioni di scrolling implementabili all'interno dei singoli <div>, oppure puoi inserire dei <div> all'interno delle celle, ciascuno con il suo scrolling.

    Io non conosco il tuo progetto globale, quindi la mia fantasia si ferma qui, ma penso che si possono trovare dei trucchi per tante cose.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non è detto che vada assegnato un id univoco ad ogni cella per fare riferimento ad essa,
    vedi qui e il resto dello speciale DOM

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Sì, sono d'accordo con te quando dici che l'HTML è un linguaggio di strutturazione e non di programmazione. Ed è per questo che pensavo di trovare un aiuto più diretto da JS. Da un linguaggio di programmazione ci si aspetta infatti di poter accedere facilmente ai valori definiti in un oggetto.

    Per quanto riguarda il modo di risolvere il problema, stavo giusto cercando di capire cosa fosse più opportuno fare.

    Il modulo che stò realizzando, nell'ambito del progetto è semplice.

    In un Frame deve apparire una Pergamena (che lo occuperà interamente) nella quale devono presentarsi un elenco di voci selezionabili.

    Ovviamente, per motivi grafici, l'elenco occuperà solo la parte centrale della Pergamena. Quindi, i dati dell'elenco potranno essere esposti in un area limitata.
    Gli elementi da esporre, tuttavia, possono eccedere l'area a disposizione nella Pergamena, così pensavo di dare la possibilità di scrolling degli elementi che in essa appaiono.

    Se il mouse viene posizionato sotto l'ultimo elemento devo ottenere un scrolling-down, se posizionato sopra il primo elemento, uno scrolling-up.

    Pensa alla Pergamena come un menu di dettaglio i cui elementi sono le foglie di un albero di navigazione. Selezionando un elemento dovranno apparire (da qualche altra parte) un insieme di informazioni.

    E' come se da un menu di pietanze, se ne selezionasse una per far apparire ad esempio la ricetta.

    Da principio avevo utilizzato l'oggetto "Select" ma in questo non ho trovato modo di caricare l'immagine della Pergamena, ne di eliminare i bordi, nè di rendere trasparente lo sfondo.
    Così, sono passato all'oggetto tabella che permette di caricare l'immagine della pergamena ed eliminare del tutto i bordi e lo spazio tra le celle e rendere trasparente il background del contenuto. Soluzione perfetta dal punto di vista grafico.
    mi rimane ora risolvere il problema dello scrolling.

    Ti ringrazio della pazienza e della cortesia.
    Se rimuginando ti dovesse venire in mente qualcosa fammelo pure sapere (la fantasia non ha limiti).

    Ciao.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Un ringraziamento anche a te Xinod.

    Stò andando a leggere la documentazione DOM che mi hai segnalato.
    Spero di trovare qualcosa.

    Ciao.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da Calaf1966

    Ovviamente, per motivi grafici, l'elenco occuperà solo la parte centrale della Pergamena. Quindi, i dati dell'elenco potranno essere esposti in un area limitata.
    Gli elementi da esporre, tuttavia, possono eccedere l'area a disposizione nella Pergamena, così pensavo di dare la possibilità di scrolling degli elementi che in essa appaiono.

    Se il mouse viene posizionato sotto l'ultimo elemento devo ottenere un scrolling-down, se posizionato sopra il primo elemento, uno scrolling-up.

    Ciao.
    Sembra la descrizione di un <div> che scorre dentro un altro <div>, e lo scorrimento e` dato dal mouseover su due caselle apposite.
    Mi pare di capire che la cosa non e` da fare con le tabelle, ma con i div appunto.
    Ho visto una cosa del genere tra gli script di HTML.it (non riocrdo se tra i JS o i DHTML). L'unico problema e` che (quando lo ho visto io) si parlava di due browser (NN4 e IE5), mentre per i browser recenti occorre usare istruzioni differenti.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    200
    Sì, Mich, potrei creare anche un Div con dentro un altro DIV così, per lo scrolling potrei risolvere il problema. Ma c'è un comando per puntare ad una singola riga del DIV? Avrei bisogno di cambiare gli attributi di "Style" al passaggio del mouse per avere un effetto "lente d'ingrandimento" (i caratteri per questione di spazio sono piccoli) che serve anche per evidenziarne la selezione (ogni riga del Div rappresenta infatti un' ipotetica selezione).

    Quando il mouse passa su una riga del Div ne deve ingrandire il "font-size" e riportare allo stato normale quello della riga precedente.

    Comunque, cercherò di documentarmi su tutto quello che è possibile fare con i DIV. Credo che seguendo questa pista potrò ottenere l'effetto desiderato.

    Grazie.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un <div> puo` contenere altri <div> oppure dei

    o altri oggetti (<ul>, <span>, <a>, ...).
    Ognuno di questi puo` avere un id (univoco!!) e puo` gestire eventi onMouseOver, onMouseOut, onClick, ... (pero` non sono compatibili con tutti i browser; per sicurezza dovresti applicare gli eventi su link).

    Dovresti dare un occhiata ai CSS ed in particolare al box model. Io lo ho studiato su un libro (C.Schmitt, Designing CSS Web Pages, New Riders, 2003), ma dovresti trovarlo anche nel tutorial sui CSS che si trova in HTML.it .

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.