Visualizzazione dei risultati da 1 a 3 su 3

Discussione: controllo multiplo

  1. #1

    controllo multiplo

    Salve a tutti ho bisogno di un idea!

    Se ho molti campi input da riempire e tutti devono essere numerici, >0 e < di 100, basta un solo controllo per far si che vengano controllati tutti?

    Mi spiego meglio... se ad ogni casella assegno il solito id="data"

    poi nel javascript richiamo la variabile

    Codice PHP:
    var data document.getElementById('data').value
    e poi alla variabile data assegno i controlli...

    questi vengono effettuati su tutte le caselle o solo su una?

    A me non sembra che funzioni per me viene controllata solo una casella... come posso fare per fare controlli su tutte le caselle senza creare tante variabili quante le caselle stesse?

    Aiuto!

  2. #2
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    L'id è un attributo univoco, quindi non puoi usare due id con lo stesso nome nella stessa pagina.

    Per fare ciò che chiedi devi fare un ciclo, io tempo fa avevo adottato questo sistema per il file .js

    function campo_vuoto(campo){
    var StringaVuota=campo.value.replace(/( )+/g,'')
    if(StringaVuota == ""){
    return (false);
    }else return true;
    }
    function campi_testo_obbl(Modulo,campi_obbligatori,campi_nu merici,campi_email){
    for(j=0;j<Modulo.length;j++){
    for(cont=0;cont<campi_obbligatori.length;cont++){
    if((Modulo[j].type == 'text' || Modulo[j].type == 'textarea' || Modulo[j].type == 'select-one') && Modulo[j]==campi_obbligatori[cont]){
    if(campo_vuoto(Modulo[j]) == false){
    alert("Il campo "+Modulo[j].name+" è obbligatorio!");
    Modulo[j].value='';
    Modulo[j].focus();
    return false;
    }else{
    //Controllo campi numerici
    for(num=0;num<campi_numerici.length;num++){
    if(Modulo[j]==campi_numerici[num] && isNaN(campi_numerici[num].value)){
    alert("Il campo "+Modulo[j].name+" è numerico!");
    Modulo[j].focus();
    return false;
    }
    }
    //fine controllo campi numerici
    //Controllo campi email
    for(num=0;num<campi_email.length;num++){

    EmailAddr = Modulo[j].value;
    Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    if(Modulo[j]==campi_email[num] && (!(Filtro.test(EmailAddr)))){
    alert("Attenzione: Inserire un indirizzo e-mail valido per il campo "+Modulo[j].name+"!");
    Modulo[j].focus();
    return false;
    }

    }
    //fine controllo campi email
    }
    }
    }

    }
    return true;
    }


    E nella pagina dove c'è il form mettevo questo
    function verifica(offerta,conferma){
    obbligatori = new Array(offerta.modello,offerta.prezzo,offerta.offer ta,offerta.tipo);
    numerici = new Array(offerta.prezzo,offerta.offerta);
    emailici = new Array();
    if(campi_testo_obbl(offerta,obbligatori,numerici,e mailici)){
    if(confirm('I dati inseriti verranno salvati. \n\nContinuare?') == false) return false;
    }else return false;
    }
    Funziona anche se credo si possa migliorare...

    Anzi se qualchuno gli desse un'occhiata e avanzasse qualche suggerimento sarebbe molto gradito!!!

  3. #3
    :master: un pò complicato...

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.