Ajax da checkbox

di il
1 risposte

Ajax da checkbox

Ciao a tutti,
spero che riusciate ad aiutarmi, ho un semplice problema, praticamente ho una lista di checkbox a cui corrisponde il relativo nome,
e selezionando queste checkbox dovrei passare la lista dei nomi selezionati all'altro file, tramite GET o ancora meglio in POST.

Per ora avrei provato a fare cosi:
function selezione() { 
. . .  
var lista = document.pietanza.chks; 
var contatore=document.pietanza.lenght; 
var lista_finale = new Array (0); 
var i=0; 
while(i<lista.length) { 
if (lista[i].checked){ 
lista_finale.push(list[i]); 
} 
i++;} 
xmlhttp.open("GET","pietanzeordinate.php?q="+lista_finale,true); 
xmlhttp.send(); 
}  
...e il form:
<form name="pietanza"> 
<input type="checkbox" name="torta" onChange="selezione()" value="torta" id="torta" />torta</br> 
<input type="checkbox" name="brodo" onChange="selezione()" value="brodo" id="brodo" />brodo</br> 
<input type="checkbox" name="pasta" onChange="selezione()" value="pasta" id="pasta" />pasta</br> 
<input type="checkbox" name="carne" onChange="selezione()" value="carne" id="carne" />carne</br>

Mi sapete aiutare??

grazzzzzie!

1 Risposte

  • Re: Ajax da checkbox

    Ciao Alice,

    Premetto che il tuo problema non e` molto chiaro, comunque noto che ci sono parti del tuo codice facilmente migliorabili, ancora piu` facilmente se usi delle librerie javascript come dojo o meglio jQuery.

    Tenendo pero` la tua soluzione (senza librerie) valida, riscriverei il corpo della funzione javascript in questo modo:
    var checkboxList = document.getElementById("pietanza").getElementsByTagName("input");
    //questo comando dopo aver assegnato alla form il parametro id="pietanza"
    //oltre che name="pietanza"
    var checkboxItemId = 0,
          listaFinale = [];//array vuoto, provare per credere  f1 
    for (checkboxItemId=0; checkboxItemId<checkboxList.length; checkboxList++){
        var singleCheckbox = checkboxList[checkboxItemId];
        if (singleCheckbox.checked) {
           listaFinale.push(singleCheckbox.name);
        }
    }
    ...
    //qui potresti usare listaFinale senza problemi.

    Fammi sapere se ho centrato il problema, in caso contrario ti pregherei di descrivermelo meglio.

    Raffaele.
Devi accedere o registrarti per scrivere nel forum
1 risposte