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

    Inserire valori delle checkbox in un array?

    Buon pomeriggio,vorrei sapere come fare per inserire i valori delle checkbox in un array a seconda della scelta che faccio.
    Ossia, se scelgo la prima e la terza,o la prima e la seconda etc oppure tutte e quattro.
    Come faccio?
    Questo è il codice che mi genera un tot di checkbox,e cliccando sulla prima ckeck mi seleziona tutte le altre,
    codice:
    <script>
    var check = false;
    
    function check_all(f) {
    check = !check;
    for (var i = 0; i < f.elements.length; i++) {
       if (f.elements[i].type=="checkbox") {
    	  f.elements[i].checked = check;
       }
    }
    }
    </script>
    echo "<input type=\"checkbox\" name=\"Bottone\" value=\"Seleziona/Deseleziona\" onClick=\"check_all(this.form);\">
    ";
    while ($entry = $d->read()) {
    if (in_array($entry,$cartelle)){
    $filename = '../DOC/RassegnaStampa/'.$entry;
    if (file_exists($filename)) {
    echo "<input type='checkbox' name='sceltaMese' value='$entry'>
    [img]../img/cartella.gif[/img]" . $entry. "
    \n";
    }
    else{
    echo "All'interno della directory " . $filename . " non è presente nessuna cartella!!
    verificare l'esattezza della directory stessa!!";
    }
    $nProgr = $n++;
    }		
    }
    Spero di essermi spiegato...Grazie mille

  2. #2
    Ti avviso che questa cosa che vuoi fare è parecchio incasinata quindi ti darò qualche dritta ma non posso scriverti il codice.
    L'idea base è: CONOSCI QUANTE CHECKBOX AVRAI NELLA PAGINA A PRIORI?
    Se sì è già + facile fare lo script, altrimenti diventa molto + complesso.
    Crea un array nella pagina del action del form in cui salverai i valori delle checkbox. Nell'array ci dovranno essere ESATTAMENTE tanti campi quante sono le checkbox (non importa se siano checkate o no).
    Poi con un ciclo valorizzi le locazioni dell'array di ogni checkbox già riempita, mentre metti un valore di default in quelle vuote. A questo punto avrai sempre i dati salvati in un array che ti dirà quali checbox son state valorizzate (tramite le chiavi) e che valori hai conservato (tramite i valori dell'array).
    Il problema è: come gestisco il ciclo? La risposta: se sai a priori quante checkbox al massimo avrai non c'è prblema. Metti quel valore e stai tranquillo, al massimo sprecherai un pò di memoria ma in questo caso è un male trascurabile. Se invece non lo sai (magari le checkbox ti vengono fuori da una query di un database) allora è + complesso.

    Torna nella pagina del form, inserisci un campo nascosto con il valore delle checkbox attualmente visibili nella pagina. Nella pagina action prenderai il valore di questo campo per primo. Ed imposterai il ciclo che raccoglie tutte le checkbox su questo campo!
    Spero di essere stato chiaro.
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    posso dirti che,max avrò 12 checkbox, una per ogni mese.
    Non estrapolo dati da un db ma,il valore delle checkbox li estrapolo leggendo dalla directory,il nome delle cartelle.

    ho fatto cosi,ma sicuramente sbaglio in qualcosa:

    codice:
    	$i=0;
    				for($i=0;$i<=$entry;$i++){
    					//echo("<OPTION value=\"$testata\">$testata</OPTION>");['mesi']
    					echo "<input type='checkbox' name='sceltaMese' value='$entry' id='$i'>";
    				}
    				echo "array: " . $array = array(0=>'sceltaMese',1=>'sceltaMese',2=>'sceltaMese',3=>'sceltaMese',
    												4=>'sceltaMese',5=>'sceltaMese',6=>'sceltaMese',7=>'sceltaMese',
    												8=>'sceltaMese',9=>'sceltaMese',10=>'sceltaMese',11=>'sceltaMese');
    potete dirmi come fare?Grazie mille...

  4. #4
    c'è qualcuno che può aiutarmi?per favore...?

  5. #5

  6. #6
    ragazzi una mano,per favore?

  7. #7
    Ma a che ti serve salvarlo in un array? Hai capito il mio post d prima?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  8. #8
    allora in linea di massima ho capito cosa intendi,ma solo la parte in cui l'array ha 12 valori dato che max avrò 12 cartelle,il resto no in quanto, le cartelle non saranno sempre 12,perchè ogni tot mesi ne devo cancellare un tot quindi,non saranno mai 12.Ecco perchè l'array deve essere costruito in base alle cartelle che trova.Capisci?

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.