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

    Problema nel concatenare stringhe

    Ciao a tutti
    Ho un problema nel concatenare due stringhe
    questo è il codice
    codice:
    for (i=1; i<=conta; i++) {
    	if(document.getElementById(i).checked) {
    	testo=testo+document.getElementById(i).value;
    	}
    }
    Io devo ottenere una stringa che ha concatenati tutti i valori delle checkbox selezionate.
    Il problema è nella concatenazione.

    Se scrivo
    codice:
    for (i=1; i<=conta; i++) {
    	if(document.getElementById(i).checked) {
    	testo=document.getElementById(i).value;
    	}
    }
    giustamente testo vale l'ultimo valore della checkbox selezionata, però deve valere tutti i valori concatenati.
    Dove sbaglio?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ma il primo codice non funziona?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    no, non funziona, praticamente non succede nulla...

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    l'errore è nel ciclo for perchè stai facendo un getElementById su un numero (e non si può assegnare un numero come id.

    quindi dai un id corretto alle tue checkbox e usa questo codice

    codice:
               inputs = document.getElementsByTagName('input');
                
                for (i=0; i<inputs.length; i++) {
                    if (inputs[i].type == 'checkbox') {
                        if(inputs[i].checked) {
                            testo += inputs[i].value;
                        }
                    }
                }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Grazie!
    Ho fatto come mi hai indicato e funziona, però ho ancora un problemino:
    la stringa che contiene il valore delle checkbox inizia con undefined.
    Non capisco perché
    grazie

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prima del ciclo for inizializza la variabile


    testo = "";
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    è vero! grazie

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.