Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Copia in memoria del contenuto di campi testo

    Ragazzi ho bisogno di una manina...

    Ho un form con dei campi input fatto circa così:



    Più sotto ho inserito un bottoncino che, se cliccato, vorrei che copiasse i valori di tutti quei dati in memoria con questo formato:

    1.00[tab]2.00
    3.00[tab]4.00
    5.00[tab]6.00
    7.00[tab]8.00

    dove [tab] è una tabulazione.
    Dato che con la funzione document.execCommand('cut'); riesco a copiare in memoria solo i dati di un campo selezionato, ho fatto un ciclo che scorre tutti campi input, li seleziona uno ad uno e aggiunge i valori di quel campo ad una variabile, così che alla fine questa variabile mi contiene qualcosa tipo:

    1.00 2.00
    3.00 4.00
    5.00 6.00
    7.00 8.00

    Primo problema: come posso copiare in memoria il contenuto di questa variabile, dato che con la funzione document.execCommand('cut'); posso copiare solo il testo selezionato in un campo??


    Secondo problema: come faccio a fare il carattere [tab]??


    Immagino che tutto ciò se mai funzionoreà, funzionerà solo sotto IE... ma mi va bene così!

    Grazie!
    All work and no play makes EricFlat a dull boy

  2. #2

    Re: Copia in memoria del contenuto di campi testo

    Originariamente inviato da EricFlat
    Secondo problema: come faccio a fare il carattere [tab]??
    Scusate, mi quoto da solo...
    Questo l'ho già risolto con un \t!
    All work and no play makes EricFlat a dull boy

  3. #3
    Risolto anche il resto!
    All work and no play makes EricFlat a dull boy

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai ragione, document.execCommand('cut') e` un'istruzione proprietaria di IE, per cui non funzionera` in altri browser.

    Per il tab hai gia` trovato che e` \t, aggiungo che il return (acapo) e` \n.

    Nel tuo post non si vede la struttura del form, che io suppongo cosi`:
    <tr>
    <td><input type="text" name="campo0x0" /></td>
    <td><input type="text" name="campo0x1" /></td>
    <td><input type="text" name="campo0x2" /></td>
    </tr>
    <tr>
    <td><input type="text" name="campo1x0" /></td>
    <td><input type="text" name="campo1x1" /></td>
    <td><input type="text" name="campo1x2" /></td>
    </tr>
    <tr>
    <td><input type="text" name="campo2x0" /></td>
    <td><input type="text" name="campo2x1" /></td>
    <td><input type="text" name="campo2x2" /></td>
    </tr>
    ...

    Comunque per copiare tutti i campi in una variabile, puoi fare cosi`:
    codice:
    var str = "";
    var ff = document.NOMEFORM;
    for(var i=0; i<NRIGHE; i++) {
      for(var j=0; j<NCOL; j++) {
        str += ff.elements("campo"+i+"x"+j).value + "\\t";
      } str += "\\n";
    }
    Nota: io ho messo due backslash davanti a t e n per visualizzarla, tu probabilmente devi mettercene una sola.

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

  5. #5
    Originariamente inviato da Mich_
    Hai ragione, document.execCommand('cut') e` un'istruzione proprietaria di IE, per cui non funzionera` in altri browser.
    Non importa, mi basta...

    Per il tab hai gia` trovato che e` \t, aggiungo che il return (acapo) e` \n.
    Lo so, lo so... :sexpulp:

    Nel tuo post non si vede la struttura del form, che io suppongo cosi`:
    <tr>
    <td><input type="text" name="campo0x0" /></td>
    <td><input type="text" name="campo0x1" /></td>
    <td><input type="text" name="campo0x2" /></td>
    </tr>
    <tr>
    <td><input type="text" name="campo1x0" /></td>
    <td><input type="text" name="campo1x1" /></td>
    <td><input type="text" name="campo1x2" /></td>
    </tr>
    <tr>
    <td><input type="text" name="campo2x0" /></td>
    <td><input type="text" name="campo2x1" /></td>
    <td><input type="text" name="campo2x2" /></td>
    </tr>
    ...
    Si, all'incirca...

    Comunque per copiare tutti i campi in una variabile, puoi fare cosi`:
    codice:
    var str = "";
    var ff = document.NOMEFORM;
    for(var i=0; i<NRIGHE; i++) {
      for(var j=0; j<NCOL; j++) {
        str += ff.elements("campo"+i+"x"+j).value + "\\t";
      } str += "\\n";
    }
    Nota: io ho messo due backslash davanti a t e n per visualizzarla, tu probabilmente devi mettercene una sola.
    Beh, il problema non era copiare tutti i valori in una variabile...
    Quello l'avevo già fatto. Il problema era poi copiare il contenuto di quella variabile nella clipboard. Ma ho già risolto. Grazie!!!
    All work and no play makes EricFlat a dull boy

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.