Visualizzazione dei risultati da 1 a 7 su 7

Discussione: controllo su array

  1. #1

    controllo su array

    Signori il problema è il seguente:
    in php ciclo creando un numero n di checkbox con sintassi:
    <input type = checkbox name = sezioni[] value = \"$attr\">
    all'invio del form faccio un controllo javascript per verificare se almeno ne ha ceccato uno.
    questa e la funzione:
    function Controllo_primo_array()
    {
    len = document.sel_multiplo.sezioni.length;
    rv = false;
    for (i = 0; i < len; i++)
    {
    rv = (document.sel_multiplo.sezioni[i].checked)?true:rv;
    }
    if(!rv)
    {
    alert("Seleziona almeno un campo per la ricerca");
    return false;
    }
    return true;
    }

    se non metto le quadre:
    <input type = checkbox name = sezioni value = \"$attr\"> funziona altrimenti mi da errore, ma a me le quadre servono per elaborare l'array in php
    dove sbaglio??
    Grazie
    http://www.perungiorno.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mancano le virgolette (o apici):

    <input type='checkbox' name='sezioni[]' value='$attr'>

    Altrimenti hai comunque problemi in qualche browser, e non puoi inserire caratteri non alfanumerici.

    Poi nel ciclo devi fare:
    codice:
    function Controllo_primo_array() {
      var ss = document.sel_multiplo.elements['sezioni[]'];
      var rv = false;
      for (i = 0; i < ss.length; i++) {
        rv = (ss.options[i].checked)?true:rv;
      }
    
      if(!rv) {
        alert("Seleziona almeno un campo per la ricerca");
        return false;
      }
      return true;
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ho fatto copia incolla del tuo codice ma mi dice che options e nullo o non è un oggetto
    http://www.perungiorno.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Potrebbe esserci un errore nell'HTML.

    Nella pagina ci deve essere un form di nome "sel_multiplo" con all'interno una select di nome "sezioni[]"
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    non ho una select, forse mi sono spiegato male. in un ciclo for creo n checkbox e la sintassi è:
    for(......)
    <input type = checkbox name = sezioni[] value = "$attr">
    Domanda:
    si puo fare solo con le combo?
    http://www.perungiorno.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzittutto devi racchiudere tutti gli argomenti degli attributi tra apici o virgolette.

    Ma il ciclo ce l'hai in un linguaggio sul server o in JS?

    Poi e` vero, mi sono confuso; sono partito dal tuo script e l'ho interpretato come select (veramente lo hai chiamato select multiplo ...). Vedi questo altro fatto per i checkbox
    codice:
    function Controllo_primo_array() {
      var ff = document.sel_multiplo;
      var rv = false;
      for (i = 0; i < ff.length; i++) {
        if(ff.elements[i].type == 'checkbox') {
          rv = (ss[i].checked)?true:rv;
        }
      }
    
      if(!rv) {
        alert("Seleziona almeno un campo per la ricerca");
        return false;
      }
      return true;
    }
    Questo fa un controllo su tutti i campi di tipo checkbox del form, indipendentemente dal nome. Se occorre tener conto del nome, bisogna modificare.

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

  7. #7
    Compliments very Compliments
    ho dovuto solo cambiare la var ss che non esisteva in ff:
    function Controllo_primo_array()
    {
    var ff = document.sel_multiplo;
    var rv = false;
    for (i = 0; i < ff.length; i++) {
    if(ff.elements[i].type == 'checkbox') {
    rv = (ff [i].checked)?true:rv;
    }
    }

    if(!rv) {
    alert("Seleziona almeno un campo per la ricerca");
    return false;
    }
    return true;
    }

    Grazie
    http://www.perungiorno.it

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.