Visualizzazione dei risultati da 1 a 4 su 4

Discussione: validare checkbox

  1. #1
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837

    validare checkbox

    Buongiorno a tutti,
    in una form ho diversi campi checkbox, volevo eseguire un controllo che avvisi l'utente che deve selezionare almeno una checkbox. Ho trovato questo script in rete però non funziona:

    Codice PHP:
    var bIsChecked false;
    chks document.forms["myform"].elements["opzioni[]"];

    for (var 
    i=0;i<chks.length;i++)
    if ( 
    chks[i].checked ){
    bIsChecked true;
    break;
    }

    if ( !
    bIsChecked )
    alert("Nessun checkbox selezionato"); 
    grazie a tutti.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Posta tutto il form (come lo riceve i browser) cosi si lavora su qualcosa di tangibile.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    grazie per la risposta, penso di aver risolto così:

    <script type="text/javascript">
    function ValidaForm(Form){

    var bIsChecked = false;
    chks = document.forms["myform"].elements["opzioni[]"];

    for (var i=0;i<chks.length;i++)
    if ( chks[i].checked ){
    bIsChecked = true;
    break;
    }

    if ( !bIsChecked ){
    alert("Nessun checkbox selezionato");
    return false;
    }
    return true;
    }
    </script>

    <form method= "post" action="script.php" onsubmit="ValidaForm(this);"
    <input name="opzioni[]" type="checkbox" value="temp" />
    <input name="opzioni[]" type="checkbox" value="hum" />

    <input type="submit" name="submit">
    </form>

    può andare bene?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova ad aggiungere il nome del form (myform), oppure cambia queste righe:
    chks = document.forms["myform"].elements["opzioni[]"];
    for (var i=0;i<chks.length;i++)
    if ( chks[i].checked ){
    bIsChecked = true;
    con queste:
    chks = document.getElementsByTagName("input");
    for (var i=0;i<chks.length;i++)
    if ( chks[i].type == "checkbox" && chks[i].checked ){
    bIsChecked = true;

    Utilizzare lo stesso nome per due oggetti del documento è sbagliato, il browser potrebbe confondersi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.