Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [js] invio variabili e array

    ciao a tutti

    ho una tabella in un form dove i campi di input sono visualizzati in questo modo:
    codice:
    <script language="javascript">
    var str = '';
    for(var i=0; i<3; i++) {
       str = str + '<tr>';
       str = str + '<td><input type="text" name="nome[]" value=""></td>';
       str = str + '<td><input type="text" name="cognome[]" value=""></td>';
       str = str + '</tr>';
    }
    document.write(str);
    </scipt>
    sempre nel mio modulo ho un link che apre una finestra che può essere stampata dall'utente, che mostra ciò che è stato inserito (una sorta di print-friendly). Riesco a stampare a video tutti i campi ddel form ma non i campi nome e cognome.

    Nella pagina aperta faccio:
    codice:
    var nome = window.opener.document.forms[0].nome;
    var cognome= window.opener.document.forms[0].cognome;
    for(var i=0; i<nome.lenght; i++) {
       document.write(nome[i].value + ' - ' + cognome[i].value + '
    ');
    }
    Cosi facendo non riesci a visualizzare assolutamente niente. perchè?

  2. #2
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    ho provato così.

    prendo il valore tramite associato al campo all'interno di un ciclo for.
    codice:
    n = "numero di righe da ciclare della finestra madre";
    form = window.opener.document.forms[0];
    for(var i=0;i<n;i++){
       var nome = "field_" + i + "_0";
       var cognome = "field_" + i + "_1";
    
       var f_nome = getElement(nome,form);
       var f_cognome = getElement(cognome,form);
    
       document.write(f_nome.value + ' - '+ f_cognome);
    }
    niente non mi visualizza un cavolo. anzi va a farsi benedire tutto lo sript nel momento in cui visualizzo per esempio f_nome.value.


  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    un campo con questo nome "strano" va referenziato cosi':

    document.nomeForm.elements["nome[]"]

    comunque non ho capito cosa cerchi di fare.... ma esistono piu' forms nella pagina?
    o piu' campi nome[] e cognome[] ?

    sarebbe utile vedere un pochino piu' di sorgenti...

    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

  4. #4
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da br1
    un campo con questo nome "strano" va referenziato cosi':

    document.nomeForm.elements["nome[]"]

    comunque non ho capito cosa cerchi di fare.... ma esistono piu' forms nella pagina?
    o piu' campi nome[] e cognome[] ?

    sarebbe utile vedere un pochino piu' di sorgenti...

    ciao
    no il form è uno ma i campi hanno lo stesso nome per più righe. ti faccio vedere come vengono generati
    Codice PHP:
    <table>
    <? for($i=0;$i<count($n_righe);$i++){ ?>
      <tr bgcolor="<? echo $bgcolor ?>">
        <td class="testata"><? echo $i+1?></td>
        <td class="content"><input type="text" name="cod_art[]" value="<? echo $cod_art[$i]; ?>" id="<? echo "field_{$i}_0" ?>"></td>
        <td class="content"><input type="text" name="descr_art[]" value="<? echo $descr_art[$i]; ?>" id="<? echo "field_{$i}_1" ?>"></td>
        <td class="content"><input type="text" name="u_misura[]" value="<? echo $u_misura[$i]; ?>" id="<? echo "field_{$i}_2" ?>"></td>
        <td class="content"><input type="text" name="qta[]" value="<? echo $qta[$i]; ?>"id="<? echo "field_{$i}_3" ?>"></td>
        <td class="content"><input type="text" name="data_ric_cons[]" value="<? echo data($data_ric_cons[$i]); ?>" id="<? echo "field_{$i}_4" ?>"></td>
      </tr>
      <? ?>
    </table>
    nella pagina che stampa devo ricreare la stessa tabella ma in javascript. Come posso fare?

  5. #5
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    riformulo la domanda.

    se io ho una modulo di questo tipo nella pagina a.html
    codice:
    <form action="a.html" method="post">
    <table>
      <tr>
        <td>1</td><td><input type="text" name="nome[]" id="campo_0_0"></td>
      </tr>
      <tr>
        <td>2</td><td><input type="text" name="nome[]" id="campo_0_1"></td>
      </tr>
    </table
    visualizza per stampa
    </form>
    come faccio a visualizzare i dati inseriti dall'utente nel campo nome[] nella pagina b.html, tramite javasript?

  6. #6
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

  7. #7
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    come puoi ancora parlare al singolare...
    ... nel campo nome[] ...
    la proprieta' .value di un campo che non ha un nome univoco e' condivisa dagli altri... ed al suo interno i valori reali sono separati da virgole e nell'ordine con il quale si incontrano nel sorgente della pagina...

    Se li prelevi in javascript devi poi separarli... per esempio con il metodo split()

    mioArray = document.nomeForm.elements["nome[]"].value.split(",")

    Se non ho ancora capito nulla puoi postare un link alla pagina non funzionante?

    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

  9. #9
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da br1
    come puoi ancora parlare al singolare...

    la proprieta' .value di un campo che non ha un nome univoco e' condivisa dagli altri... ed al suo interno i valori reali sono separati da virgole e nell'ordine con il quale si incontrano nel sorgente della pagina...

    Se li prelevi in javascript devi poi separarli... per esempio con il metodo split()

    mioArray = document.nomeForm.elements["nome[]"].value.split(",")

    Se non ho ancora capito nulla puoi postare un link alla pagina non funzionante?

    ciao
    ok, questa è già una cosa che non sapevo.

    Ma se prendessi il valore tramite l'id, che è sempre diverso?

    Ti posto il codice:
    codice:
    n = getParameter('n'); //getParameter è una funzione che ho trovato
     qui sul forum, prende il valore della query string della pagina a.html (il numero di righe)
    
    form = window.opener.document.forms[0]; //oggetto form della pagina sottostante
    
    for(i=0;i<n;i++){
       var id_nome = 'field_' + i + '_0';
       var nome = getElement(id_nome,form)
    
       document.write(nome.value);
    }
    in questo modo dovrei ciclare tutti i campi nome di tutte le righe. ma non funziona.

    ti posto anche la funzione getElement:
    codice:
    function getElement(e,f){
        if(document.layers){
            f = (f) ? f : self;
            if(f.document.layers[e]) {
                return f.document.layers[e];
            }
            for(W=0;i<f.document.layers.length;W++) {
                return(getElement(e,fdocument.layers[W]));
            }
        }
        if(document.all) {
            return document.all[e];
        }
        return document.getElementById(e);
    }
    Tra l'altro questo è un metodo di recupero dei dati preso da phpmyadmin

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    sei sicuro di questo: ?

    for(W=0;i<f.document.layers.length;W++) {

    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

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.