Discussione chiusa
Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Print delle variabili JS nelle tabelle

  1. #1
    Heki non è in linea Novello
    Luogo
    Busto Arsizio
    Post
    2

    Print delle variabili JS nelle tabelle

    Ciao a tutti

    Sono alle prime armi con JS, ho cercato un po' sul web e nel forum ma non ho trovato qualcosa che facesse al mio scopo.
    Vorrei semplicemente inserire una variabile JS dopo che è stata modificata dallo script dentro una tabella HTML.

    Un'esempio di codice è questo:

    codice:
    <form>
    <table>
    <tr>
       <td>Primo numero</td>
       <td><select name="Operatore1" id="Op1">
    	<option value="1">1</option>
        	<option value="2">2</option>
            <option value="3">2</option>
    	<option value="4">3</option>
       </td>
    </tr>
    <tr>
       <td>Primo numero</td>
       <td><select name="Operatore2" id="Op2">
    	<option value="1">1</option>
        	<option value="2">2</option>
            <option value="3">2</option>
    	<option value="4">3</option>
       </td>
    </tr>
    <tr>
       <td><input type="button" value="Calcola" onClick="Calcola()"></td>
    </tr>
    <tr>
       <td>Risultato</td>
       <td>????????</td>
    </tr>
    </table>
    </form>
    <script type="text/javascript">
    
    function Calcola() {
       var Risultato = Op1 * Op2
    
       }
    </script>
    Cosa posso mettere al posto dei punti interrogativi per far stampare a monitor la variabile Risultato?

    Grazie in anticipo delle risposte

  2. #2
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Il meccanismo più veloce è sfruttare il DOM ed assegnare un attributo id univoco al contenitore in cui vuoi scrivere, quindi ottenere tale elemento (in questo caso un td) con una document.getElementById() e quindi sovrascrivere il campo innerHTML del contenitore. In due parole, immaginando di assegnare al td l'attributo id="pippo":
    codice:
    document.getElementById('pippo').innerHTML="stringa";
    Ciaociao


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  3. #3
    Heki non è in linea Novello
    Luogo
    Busto Arsizio
    Post
    2
    Quindi il codice che ne risulterebbe nell'esempio da me postato sarebbe:

    codice:
    <form>
    <table>
    <tr>
       <td>Primo numero</td>
       <td><select name="Operatore1" id="Op1">
    	<option value="1">1</option>
        	<option value="2">2</option>
            <option value="3">2</option>
    	<option value="4">3</option>
       </td>
    </tr>
    <tr>
       <td>Primo numero</td>
       <td><select name="Operatore2" id="Op2">
    	<option value="1">1</option>
        	<option value="2">2</option>
            <option value="3">2</option>
    	<option value="4">3</option>
       </td>
    </tr>
    <tr>
       <td><input type="button" value="Calcola" onClick="Calcola()"></td>
    </tr>
    <tr>
       <td id="pippo">Risultato</td>
       <td>????????</td>
    </tr>
    </table>
    </form>
    <script type="text/javascript">
    
    function Calcola() {
       var Risultato = Op1 * Op2
    
      document.getElementById('pippo').innerHTML=Risultato;
    
       }
    </script>
    E' corretto?

  4. #4
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    Non credo che indicando semplicemente l'id di una select sarà preso in considerazione il suo valore. Quindi dovresti vedere come recuperare il valore selezionato di una select. Poi, ";" va messo dopo ogni riga. L'assegnazione con "innerHTML" e corretta.
    codice:
    document.getElementById('pippo').innerHTML=Risultato;//ok
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  5. #5
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Chiaramente, come dice giustamente bumm, la funzione che hai scritto non calcola il prodotto tra quanto selezionato nella prima select e quanto nella seconda. Devi di nuovo interrogare il DOM per questo.


    E'bene leggere attentamente quello che ho scritto però:
    assegnare un attributo id univoco al contenitore in cui vuoi scrivere
    E tu invece mi proponi:
    <td id="pippo">Risultato</td>
    <td>????????</td>
    Se vuoi sostituire il contenuto della colonna che contiene la scritta "Risultato", quello che hai proposto può andare, ma ho l'impressione che tu volessi scrivere nell'altra colonna.

    NB: Non è che lo devi chiamare per forza "pippo" l'identificativo... spero sia chiaro...

    Ciaociao


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  6. #6
    gdp
    gdp non è in linea Novello
    Post
    1

    usare/incrementare variabile in un for html

    Ciao,
    sono nuovo di html e javascript ed ho un problema analogo.

    Sapreste dirmi qual'era poi la soluzione?

    Grazie mille

  7. #7
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,055
    Blogs
    5
    Apri un tuo thread, questo è troppo vecchio. Chiuso.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

Discussione chiusa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi