Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Controlli su ?? "un certo numero" ?? di campi...

    Ciao a tutti, ho una pagina php con un form che raccoglie dati... devo effettuare vari controlli con javascript sui valori immessi in questi campi.

    In altre occasioni ho sempre saputo il numero e il nome preciso dei campi da controllare, ma in questo caso è diverso...

    ...ad esempio l'utente potrebbe scegliere quanti campi "Nome" compilare e quindi generare una pagina con 100 campi "Nome" dove ogni campo si chiamerà "Nome1", "Nome2", "Nome3" ecc ecc... tutti valori da controllare...

    Nel mio javascript, come posso prevedere i controlli??

    Spero di aver illustrato bene il mio problema... voi come risolvereste?


  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    document.nomeForm.elements[3]... il quarto elemento

    dove numero e' per es. 3:
    document.nomeForm.elements['Nome'+numero]...
    document.nomeForm.elements['Nome'+numero][0]... il primo elemento con nome 'Nome3' dove gli elementi con name="Nome3" sono piu' d' uno

    etc

    ciao

  3. #3
    ciao, grazie per la risposta velocissima... però scusa la mia ignoranza ma non ho compreso bene i tuoi esempi...

    Il mio problema è che io non posso sapere in anticipo il numero di campi che l'utente mi invierà, quindi con document.nomeForm.elements[1],document.nomeForm.elements[2], document.nomeForm.elements[3] ecc ecc io controllo solo questi, ma se l'utente mi ha generato e compilato più campi? tipo elements[4], elements[5], elements[6] ecc ecc

    Perdonami, probabilmente sono io che non essendo molto pratico, non ho capito la tua risposta...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cicli per la lunghezza di questo array elements che contiene tutti gli elementi del form

    for(var k=0;k<document.nomeForm.elements.length;k++){
    document.nomeForm.elements[k]...
    }

  5. #5
    ahh ok... credo di aver capito... mi metto a lavoro!

    Grazie 1000

  6. #6
    Ciao Xinod
    ho ripreso il lavoro sui controlli... però non ho ancora capito come procedere

    Pensavo di inserire un if all'interno del for, tipo così:
    if(document.Contacts.Nome[i] == ""){
    alert("Attenzione! campo vuoto!");
    return false;

    ...ma chiaramente non funzione ed è ovvio che non ho capito proprio niente di quello che mi avevi suggerito...

    mi potresti fare un esempio tu?
    Io non ho proprio idea su come procedere, anche perchè ho diversi tipi di controlli da fare sui vari campi e di javascript so davvero poco/niente.

    A presto!


  7. #7
    che nome hai dato ai campi? Se hai usato un prefisso noto e un numero progressivo, come Obbligatorio1, Obbligatorio2... ObbligatorioN potresti fare qualcosa tipo:

    codice:
    var i=1;
    while(document.Contacts.elements["Obbligatorio"+i]){
      if(document.Contacts.elements["Obbligatorio"+i].value == ""){
        alert("Campo "+i+" vuoto);
      }
      i++;
    }
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  8. #8
    Originariamente inviato da ivenuti
    che nome hai dato ai campi? Se hai usato un prefisso noto e un numero progressivo, come Obbligatorio1, Obbligatorio2... ObbligatorioN potresti fare qualcosa tipo:

    codice:
    var i=1;
    while(document.Contacts.elements["Obbligatorio"+i]){
      if(document.Contacts.elements["Obbligatorio"+i].value == ""){
        alert("Campo "+i+" vuoto);
      }
      i++;
    }
    Ciao, grazie per la risposta!
    I miei campi si chiamano Nome[1], Nome[2], Nome[3] ecc ecc posso usare il tuo codice e quindi scrivere while(document.Contacts.elements["Name["+i"]"]){ ecc ecc???

    E poi ancora... dato che lo stesso form ha anche altri campi da controllare tipo: Cognome[1], Cognome[2], Cognome[3]... email[1], email[2], email[3]... approfitto per chiederti come procedere con il ciclo... cioè all'interno dello stesso while non posso inserire i controlli sugli altri campi, giusto?
    Devo fare tanti while quanti sono i campi da controllare?

    Grazie ancora per la risposta!

    A presto!


  9. #9
    :quote:

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    se il form è destinato a php immagino che i campi abbiano name="nome[]"... giusto?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.