Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Validator form

  1. #1
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261

    Validator form

    Ciao ne conoscete uno che automaticamente settandolo ticontrolla tutti i tipi di input..

    ho una 30 di moduli dove dovrei fare un sacco di controlli soprattutto molti sono input checkbox e radio..

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    hai già guardato tra i link / discussioni utili in rilievo?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    si ho visto nn ho trovato nulla che serve a me..io ho solo campi radio e checkbox..

    ho bisogno di una funzione che mi controlli tutti sti dati..

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ti serve una validazione generica (ad esempio vedere che tutti i radio siano stati valorizzati)
    oppure validazioni condizionali (ad esempio se è selezionata la checkbox 'n' dev'essere deselezionata la checkbox 'm')

    potresti fornire un esempio concreto?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    ok ti ringrazio per prima cosa..

    dicevo ho una ventina di moduli con domande e rispote in radio e checkbox..


    iL primo controllo che mi serve a tutte le domande deve esserci una risposta,quindi tutti campi obbligatori..

    Poi ci sono alcune radio che a seconda della risposta mi attivano o altre radio o dei check..

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    per la seconda richiesta devi per forza crearti delle funzioni ad hoc che facciano i controlli incrociati (e li conosci solo tu)

    ma per controllare se sono state date tutte le risposte la funzione è abbastanza semplice.
    suppongo di avere un codice (semplificato) del genere

    codice:
    <form id="questionario" onsubmit="checkAnswer(this)">
       Domanda 1:
       <input type="radio" name="risposta_1" value="a" />
       <input type="radio" name="risposta_1" value="b" />
       <input type="radio" name="risposta_1" value="c" />
    
       ...
    
       Domanda n:
       <input type="radio" name="risposta_n" value="a" />
       <input type="radio" name="risposta_n" value="b" />
       <input type="radio" name="risposta_n" value="c" />
    </form>
    in cui sono obbligatorie 'n' risposte

    la funzione checkAnswer sarà

    codice:
    <script>
    function checkAnswer(frm) {
    
        var totAnswer = 0;
        var childLen = frm.childNodes.length;
        for (i=0; i<childLen; i++) {
            node = frm.childNodes[i];
            if (node.type.toLowerCase() == 'radio') {
                if (node.checked) ++totAnswer;
            }
        }
    
        // al posto di 'n' sostituisci con il numero di domande del modulo
        return (totAnswer == n);
    }
    </script>

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    mmm...
    asp.
    per i radio la risposta è una sola per forza..
    mentre per i check possono essere anche + di una l importante che sia selezionata almeno una

    puoi farmi l esemprio della funzione che mi hai messo per questi due casi? come devo gestirli i name degli input con un numero??

    esempio di radio
    <form action="#" name="scheda1" onsubmit="checkAnswer(this);"
    <input type="radio" name="Situata_Postazione" value="Situata_Postazione_Citta"/>Città

    <input type="radio" name="Situata_Postazione" value="Situata_Postazione_Collina"/>Collina

    <input type="radio" name="Situata_Postazione" value="Situata_Postazione_Montagna"/>Montagna

    <input type="radio" name="Situata_Postazione" value="Situata_Postazione_Campagna" />Campagna

    <input type="radio" name="Situata_Postazione" value="Situata_Postazione_Bosco" />Bosco

    esempio di check

    <input type="checkbox" name="Postazione1"/>In auto

    <input type="checkbox" name="Postazione2"/>In fuoristrada

    <input type="checkbox" name="Postazione3"/>A piedi

    <input type="checkbox" name="Postazione4"/>In funicolare

    <input type="checkbox" name="Postazione5"/>In elicottero

    <input type="checkbox" name="Postazione6"/>altro

    </form>

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    andiamo per gradi: prova questo esempio

    codice:
    <head>
    <script>
    function checkAnswer(frm) {
    
        var totAnswer = 0;
        var inp = frm.getElementsByTagName('input')
        var childLen = inp.length;
        
        for (i=0; i<childLen; i++) {
            node = inp[i];
            
            if (node.type == 'radio') {
                if (node.checked) ++totAnswer;
            }
        }
    
        // alert(totAnswer);
        // al posto di 'n' sostituisci con il numero di domande del modulo
        if (totAnswer == 2) {
            return true;
        }
        else {
            alert('Rispondi a tutte le domande');
            return false;
        }
    }
    </script>
    
    </head>
    <body>
    <form id="questionario" onsubmit="checkAnswer(this)">
       Domanda 1:
       <input type="radio" name="risposta_1" value="a" />
       <input type="radio" name="risposta_1" value="b" />
       <input type="radio" name="risposta_1" value="c" />
       
    
       ...
    
       Domanda n:
       <input type="radio" name="risposta_n" value="a" />
       <input type="radio" name="risposta_n" value="b" />
       <input type="radio" name="risposta_n" value="c" />
       
    
       
       <input type="submit" />
    </form>
    </body>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    carino il tuo docice peccato che nn è quelloche cerco..
    a parte che con il ceckbox nn va..
    cmq nn fa altro che contare il numro dellle risposte che occorono..

    la mia è una cosa + impegnativa..all invio del submit ti esce,se ci sono,una tendina con l elenco degli errori,quindi conle relative frasi(es.non hai riposto alla domanda"postazione")

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 © 2026 vBulletin Solutions, Inc. All rights reserved.