Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Controllare checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    92

    Controllare checkbox

    Ciao a tutti, avrei bisogno d'aiuto.
    All'interno di un form ho 5 checkbox con 5 prodotti, le check si chiamano prodotto1, prodotto2 ecc fino a 5.

    per verificare che venga selezionato almeno un prodotto ho tentato così

    var quanti=5;
    var quali=0;

    //cliclo da 1 a 5
    for (f=1; f<=quanti; f++)
    {

    //se trova almeno una barrata mette quali a 1
    if(document.inserisci.prodotto+f.checked == true)
    {
    quali=1;
    }

    // Controllo di essere alla fine del ciclo
    if (f == quanti)
    {

    // se quali è ancora a zero gli mostro l'alert
    if (quali == 0)
    {
    alert("Selezionare almeno un prodotto.");
    document.inserisci.prodotto1.focus();
    return false;
    }
    }

    } // CHIUDO FOR

    purtroppo non funziona. mi sapete dire dove sbaglio?
    Grazie

  2. #2
    codice:
    function controllo(){
     for(var i=1;i<=5;i++) if(document.nomeform.elements['prodotto'+i].checked) return true;
     alert('Selezionare almeno un prodotto.');
     return false;
    }
    prova cosi'.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    92
    grazie d'avermi risposto,
    scusa ma così non mostrerebbe l'alert ogni volta che trova una check non selezionata?

  4. #4
    Originariamente inviato da lovatos
    grazie d'avermi risposto,
    scusa ma così non mostrerebbe l'alert ogni volta che trova una check non selezionata?
    no, dato che l'alert non fa parte del ciclo.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    92
    mi dice che:
    document.inserisci.elements['prodotto'+i].checked è nullo o non è un oggetto.


    ti allego tutto il mio file che valida il form... come prima cosa c'è il tuo pezzo.. senza il return true...
    grazie dell'aiuto


    =================================

    function valida()
    {

    var i;
    var trovato=0;


    for(var i=1;i<=5;i++) if(document.inserisci.elements['prodotto'+i].checked)
    alert('Selezionare almeno un prodotto.');
    return false;



    //CONTROLLI PER IL CAMPO NOME
    if (document.inserisci.nome.value.length == 0) {
    alert("Il campo NOME é obbligatorio.");
    document.inserisci.nome.focus();
    return false;
    }

    for(i=0;i<document.inserisci.nome.value.length;i++ ) //visualizza l' alert se nel campo sono presenti caratteri non consentiti
    {
    if(document.inserisci.nome.value.charCodeAt(i)!=32 &&document.inserisci.nome.value.charCodeAt(i)!=39& &document.inserisci.nome.value.charCodeAt(i)< 65|| document.inserisci.nome.value.charCodeAt(i)>90 && document.inserisci.nome.value.charCodeAt(i)<97|| document.inserisci.nome.value.charCodeAt(i)>122 && document.inserisci.nome.value.charCodeAt(i)!=224 && document.inserisci.nome.value.charCodeAt(i)!=232 && document.inserisci.nome.value.charCodeAt(i)!=233 && document.inserisci.nome.value.charCodeAt(i)!=236 && document.inserisci.nome.value.charCodeAt(i)!=242 && document.inserisci.nome.value.charCodeAt(i)!=249)
    {
    alert("Nel campo NOME il carattere ["+document.inserisci.nome.value.substring(i,i+ 1)+"] non è consentito");
    document.inserisci.nome.focus();
    return false;
    }
    }

    if (document.inserisci.nome.value.substring(0).charCo deAt()==32||document.inserisci.nome.value.substrin g(0).charCodeAt()==39) {
    alert("Il PRIMO carattere del campo NOME non può essere né uno spazio, né il carattere apostrofo [']");
    document.inserisci.nome.focus();
    return false;
    }
    if (document.inserisci.nome.value.lastIndexOf("''") > 0) {
    alert("Nel campo NOME non sono ammessi gli apici [' '] consecutivi.");
    document.inserisci.nome.focus();
    return false;
    }

    if (document.inserisci.nome.value.lastIndexOf(" ") > 0) {
    alert("Nel campo NOME non sono ammessi gli (spazi) consecutivi.");
    document.inserisci.nome.focus();
    return false;
    }
    //FINE CONTROLLI NOME

    //CONTROLLI PER IL CAMPO COGNOME
    if (document.inserisci.cognome.value.length == 0)
    {
    alert("Il campo COGNOME é obbligatorio.");
    document.inserisci.cognome.focus();
    return false;
    }

    for(i=0;i<document.inserisci.cognome.value.length; i++) //visualizza l' alert se nel campo sono presenti caratteri non consentiti
    {
    if(document.inserisci.cognome.value.charCodeAt(i)! =32&&document.inserisci.cognome.value.charCodeAt(i )!=39&&document.inserisci.cognome.value.charCodeAt (i)< 65|| document.inserisci.cognome.value.charCodeAt(i)>90 && document.inserisci.cognome.value.charCodeAt(i)<97| | document.inserisci.cognome.value.charCodeAt(i)>122 && document.inserisci.cognome.value.charCodeAt(i) != 224 && document.inserisci.cognome.value.charCodeAt(i) != 232 && document.inserisci.cognome.value.charCodeAt(i) != 233 && document.inserisci.cognome.value.charCodeAt(i) != 236 && document.inserisci.cognome.value.charCodeAt(i) != 242 && document.inserisci.cognome.value.charCodeAt(i) != 242 && document.inserisci.cognome.value.charCodeAt(i) != 249)
    {
    alert("Nel campo COGNOME il carattere ["+document.inserisci.cognome.value.substring(i,i+1 )+"] non è consentito");
    document.inserisci.cognome.focus();
    return false;
    }
    }
    if (document.inserisci.cognome.value.substring(0).cha rCodeAt()==32||document.inserisci.cognome.value.su bstring(0).charCodeAt()==39) {
    alert("Il PRIMO carattere del campo COGNOME non può essere né uno spazio, né il carattere apostrofo [']");
    document.inserisci.cognome.focus();
    return false;
    }
    if (document.inserisci.cognome.value.lastIndexOf("''" ) > 0) {
    alert("Nel campo COGNOME non sono ammessi gli apici [' '] consecutivi.");
    document.inserisci.cognome.focus();
    return false;
    }

    if (document.inserisci.cognome.value.lastIndexOf(" ") > 0) {
    alert("Nel campo COGNOME non sono ammessi gli (spazi) consecutivi.");
    document.inserisci.cognome.focus();
    return false;
    }
    //FINE CONTROLLI COGNOME


    /*
    //CONTROLLI PER IL CAMPO TELEFONO
    if(document.inserisci.prefix.value.length ==0)
    {
    alert("Inserisci il prefisso");
    document.inserisci.prefix.focus();
    return false;
    }

    if(isNaN(document.inserisci.prefix.value))
    {
    alert("Inserisci il valore numerico del PREFISSO.");
    document.inserisci.prefix.focus();
    return false;
    }
    if (document.inserisci.telefono.value.length == 0)
    {
    alert("Inserisci numero di telefono");
    document.inserisci.telefono.focus();
    return false;
    }
    if(isNaN(document.inserisci.telefono.value))
    {
    alert("Inserisci il valore numerico del TELEFONO.");
    document.inserisci.telefono.focus();
    return false;
    }

    //FINE CONTROLLI TELEFONO*/


    //CONTROLLI PER IL CAMPO EMAIL

    var e_mail;
    e_mail=document.inserisci.mail.value;


    if (document.inserisci.mail.value.length == 0) {
    alert("Il campo E-MAIL é obbligatorio.");
    document.inserisci.mail.focus();
    return false;
    }

    if (document.inserisci.mail.value.length > 0)
    {

    for(i=0;i<document.inserisci.mail.value.length;i++ )
    {
    if(document.inserisci.mail.value.lastIndexOf("@")< 1)
    {
    alert("il carattere @ [chiocciola] deve essere presente nel campo E-MAIL");
    document.inserisci.mail.focus();
    return false;
    }
    }

    if (document.inserisci.mail.value.substring(0).charCo deAt()==45||document.inserisci.mail.value.substrin g(0).charCodeAt()==46||document.inserisci.mail.val ue.substring(0).charCodeAt()==64||document.inseris ci.mail.value.substring(0).charCodeAt()==95) {
    alert("Il PRIMO carattere del campo E-MAIL non può essere nessuno dei seguenti caratteri:\npunto [.], chiocciola [@], trattino [-], underscore [_].");
    document.inserisci.mail.focus();
    return false;
    }

    for(i=0;i<document.inserisci.mail.value.length;i++ ) //visualizza l' alert se nel campo sono presenti caratteri non consentiti
    {
    if(document.inserisci.mail.value.charCodeAt(i)!=32 &&document.inserisci.mail.value.charCodeAt(i)!=45& &document.inserisci.mail.value.charCodeAt(i)!=46&& document.inserisci.mail.value.charCodeAt(i)<48||do cument.inserisci.mail.value.charCodeAt(i)>57&&docu ment.inserisci.mail.value.charCodeAt(i)< 64|| document.inserisci.mail.value.charCodeAt(i)>90 && document.inserisci.mail.value.charCodeAt(i)!=95&&d ocument.inserisci.mail.value.charCodeAt(i)<97|| document.inserisci.mail.value.charCodeAt(i)>122)
    {
    alert("Nel campo E-MAIL il carattere ["+document.inserisci.mail.value.substring(i,i+ 1)+"] non è consentito");
    document.inserisci.mail.focus();
    return false;
    }
    }

    for(i=0;i<document.inserisci.mail.value.length;i++ ) //visualizza l' alert se nel campo è presente il carattere (spazio)
    {
    if(document.inserisci.mail.value.charCodeAt(i)==32 )
    {
    alert("Il carattere [spazio] nel campo E-MAIL non è consentito");
    document.inserisci.mail.focus();
    return false;
    }
    }




    var chiocciolaCount = 0;
    var foundatposition = 0;
    while(foundatposition != -1) {
    foundatposition = e_mail.indexOf("@", foundatposition);
    if (foundatposition != -1) {
    chiocciolaCount++;
    foundatposition++;
    }
    }

    if (chiocciolaCount>1) {
    alert("Attenzione! Hai inserito " + chiocciolaCount + " volte il simbolo [@]. Negli indirizzi e-mail ne puoi inserire solamente uno!");
    document.inserisci.mail.focus();
    return false;
    }


    var lunghezza_mail;
    lunghezza_mail = e_mail.length;
    punto_posizionez=(lunghezza_mail-4);
    punto_posizione=(lunghezza_mail-3);
    puntone =e_mail.substring(punto_posizionez,punto_posizione z+1);
    punto = e_mail.substring(punto_posizione,punto_posizione+1 );

    if (e_mail != "es. piero.melandri@libero.it" && e_mail == "") {
    e_mail = "";
    }
    else {

    for(i=punto_posizione+1;i<lunghezza_mail;i++) {

    if (e_mail.charCodeAt(i) < 65 || e_mail.charCodeAt(i) > 90 && e_mail.charCodeAt(i) < 97 || e_mail.charCodeAt(i) > 122)
    {
    alert("Nel campo E_MAIL l'estensione (es: .it,.com) non è corretta oppure è mancante.");
    document.inserisci.mail.focus();
    return false;
    }
    }
    }

    if (e_mail != "es. piero.melandri@libero.it" && e_mail == "") {
    e_mail = "";
    }
    else {

    if (punto != "."&&puntone!=".") {
    alert("Nel campo E-MAIL c'é un errore!\nControllare l'estensione.\n\nLe possibili cause sono:\n1. Manca il carattere punto.\n2. L'estensione è troppo lunga");
    document.inserisci.mail.focus();
    return false;
    }
    }

    if (e_mail.lastIndexOf("@.") > 0 || e_mail.lastIndexOf(".@") > 0) {
    alert("Nel campo E-MAIL c'é un errore!\nI caratteri [@] e [.] non sono consentiti consecutivamente");
    document.inserisci.mail.focus();
    return false;
    }


    if (e_mail.lastIndexOf("..") > 0) {
    alert("Nel campo E-MAIL non sono ammessi i punti [..] consecutivi.");
    document.inserisci.mail.focus();
    return false;
    }


    //FINE CONTROLLI EMAIL
    }

    //CONTROLLI TELEFONO
    if (document.inserisci.telefono.value.length == 0)
    {
    alert("Inserisci numero di TELEFONO");
    document.inserisci.telefono.focus();
    return false;
    }
    if(isNaN(document.inserisci.telefono.value))
    {
    alert("Non inserite spazi bianchi nel numero es:054224242");
    document.inserisci.telefono.focus();
    return false;
    }
    //FINE CONTROLLI TELEFONO

    //CONTROLLI PER IL CAMPO CATEGORIA
    if(document.inserisci.azione.value == "")
    {
    alert("Il campo TIPOLOGIA é obbligatorio.");
    document.inserisci.azione.focus();
    return false;
    }
    //FINE CONTROLLI CATEGORIA

    //CONTROLLI PER IL CAMPO CATEGORIA
    if(document.inserisci.categoria.value == "")
    {
    alert("Il campo CATEGORIA é obbligatorio.");
    document.inserisci.categoria.focus();
    return false;
    }
    //FINE CONTROLLI CATEGORIA


    //CONTROLLI PER IL CAMPO ANNUNCIO
    if (document.inserisci.annuncio.value.length == 0)
    {
    alert("Il campo ANNUNCIO é obbligatorio.");
    document.inserisci.annuncio.focus();
    return false;
    }


    if (document.inserisci.annuncio.value.substring(0).ch arCodeAt()==32||document.inserisci.annuncio.value. substring(0).charCodeAt()==39) {
    alert("Il PRIMO carattere del campo ANNUNCIO non può essere né uno spazio, né il carattere apostrofo [']");
    document.inserisci.annuncio.focus();
    return false;
    }
    if (document.inserisci.annuncio.value.lastIndexOf("'' ") > 0) {
    alert("Nel campo ANNUNCIO non sono ammessi gli apici [' '] consecutivi.");
    document.inserisci.annuncio.focus();
    return false;
    }/* if (document.inserisci.annuncio.value.lastIndexOf(" ") > 0) {
    alert("Nel campo ANNUNCIO non sono ammessi gli (spazi) consecutivi.");
    document.inserisci.annuncio.focus();
    return false;
    } *///FINE CONTROLLI ANNUNCIO


    //CONTROLLI PER LA PRIVACY
    if(document.inserisci.datipersonali.checked == false)
    {
    alert("Autorizzare il trattamento ai dati personali.");
    document.inserisci.datipersonali.focus();
    return false;
    }
    //FINE CONTROLLI PRIVACY

    return true;
    }

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.