Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305

    Esclusione di controllo campi se non esistono

    Ciao ho un form con un array di campi text e una serie di dati personali con un controllo sui campi di questo tipo:

    function controlla_dati(){

    //-------------- controllo che sia settato almeno un campo
    var c=0;
    for(var i=0;i<document.richiesta.elements["qta[]"].length; i++)
    {
    if(document.richiesta.elements["qta[]"][i].value != "") c++;
    }

    if(c<1){
    alert("Inserire la quantità richiesta almeno per un articolo.");
    return false;
    }


    // -----------------------------------------------------
    var val_data=document.richiesta.data.value;
    var val_nome=document.richiesta.nome.value;
    var val_rs=document.richiesta.rs.value;
    var val_ind=document.richiesta.ind.value;
    var val_city=document.richiesta.city.value;
    var val_cap=document.richiesta.cap.value;
    var val_tel=document.richiesta.tel.value;
    var val_email=document.richiesta.email.value;
    if (val_data == "")
    {
    alert('Attenzione non è stata specificata nessuna data di consegna.');
    document.richiesta.data.focus();
    return false;
    }
    else if (val_nome == "")
    {
    alert('Attenzione inserire il nome e cognome.');
    document.richiesta.nome.focus();
    return false;
    }

    else if (val_ind == "")
    {
    alert('Attenzione manca il tuo indirizzo.');
    document.richiesta.ind.focus();
    return false;
    }
    else if (val_cap == "")
    {
    alert('Attenzione manca il C.A.P.');
    document.richiesta.cap.focus();
    return false;
    }
    else if (val_city == "")
    {
    alert('Attenzione manca la città.');
    document.richiesta.city.focus();
    return false;
    }
    else if (val_tel == "")
    {
    alert('Attenzione manca il numero di telefono.');
    document.richiesta.tel.focus();
    return false;
    }
    // -------------------------------------

    Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (Filtro.test(val_email))
    return true;
    else
    {
    alert("L'indirizzo e-mail inserito non è valido, controllare prego");
    document.richiesta.email.focus();
    return false;
    }
    // ----------------------------------------

    }

    Può capitare che nel modulo a volte non esista nemmeno un campo qta[] e allora il controllo salta anche tutti gli altri campi e il form può essere spedito anche vuoto.

    Io vorrei che il controllo avvenisse a prescindere dall'esistenza di almeno un campo qta[], ho provato anche a fare cosi:

    if(document.richiesta.elements["qta[]"].length > 0)
    {
    //-------------- controllo che sia settato almeno un campo
    var c=0;
    for(var i=0;i<document.richiesta.elements["qta[]"].length; i++)
    {
    if(document.richiesta.elements["qta[]"][i].value != "") c++;
    }

    if(c<1){
    alert("Inserire la quantità richiesta almeno per un articolo.");
    return false;
    }

    }
    e poi il resto del codice....

    ma non funziona, chiedo un aiuto grazie.

  2. #2
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    UP!

  3. #3
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Scusa ma... possibile che non ci sia una risposta ad un problema cosi banale? Io sono una schiappa in js ma credo non sia un grosso problema.
    Ho fatto un bilico di tentativi all'interno della funzione compreso questo che mi sembrava il più ragionevole:

    <script language="JavaScript" type="text/javascript">
    <!--
    function controlla_dati(){
    // --- in pratica ne nessun campo qta[] esiste salta questo controllo su qta[] e controlla gli altri campi, se invece esiste assicurati che almeno uno sia compilato


    if(document.richiesta.elements["qta[]"]['0'] != null)
    {
    //-------------- controllo che sia settato almeno un campo
    var c=0;
    for(var i=0;i<document.richiesta.elements["qta[]"].length; i++)
    {
    if(document.richiesta.elements["qta[]"][i].value != "") c++;
    }

    if(c<1){
    alert("Inserire la quantità richiesta almeno per un articolo.");
    return false;
    }
    }



    var val_data=document.richiesta.data.value;
    var val_nome=document.richiesta.nome.value;
    var val_rs=document.richiesta.rs.value;
    var val_ind=document.richiesta.ind.value;
    var val_city=document.richiesta.city.value;
    var val_cap=document.richiesta.cap.value;
    var val_tel=document.richiesta.tel.value;
    var val_email=document.richiesta.email.value;
    if (val_data == "")
    {
    alert('Attenzione non è stata specificata nessuna data di consegna.');
    document.richiesta.data.focus();
    return false;
    }
    else if (val_nome == "")
    {
    alert('Attenzione inserire il nome e cognome.');
    document.richiesta.nome.focus();
    return false;
    }

    else if (val_ind == "")
    {
    alert('Attenzione manca il tuo indirizzo.');
    document.richiesta.ind.focus();
    return false;
    }
    else if (val_cap == "")
    {
    alert('Attenzione manca il C.A.P.');
    document.richiesta.cap.focus();
    return false;
    }
    else if (val_city == "")
    {
    alert('Attenzione manca la città.');
    document.richiesta.city.focus();
    return false;
    }
    else if (val_tel == "")
    {
    alert('Attenzione manca il numero di telefono.');
    document.richiesta.tel.focus();
    return false;
    }
    // -------------------------------------

    Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if (Filtro.test(val_email))
    return true;
    else
    {
    alert("L'indirizzo e-mail inserito non è valido, controllare prego");
    document.richiesta.email.focus();
    return false;
    }
    // ----------------------------------------


    }
    //-->
    </script>


    Attualmente se il form contiene almeno un campo qta[] esegue a dovere il controllo ma se non esiste non mi controlla nessuno degli altri campi.

  4. #4
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    UP

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    if(document.richiesta.elements["qta[]"])

    Il resto non l'ho controllato

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Grazie 1000 br1 funziona alla grandissima.

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.