Visualizzazione dei risultati da 1 a 10 su 10

Discussione: contare campi vuoti

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    26

    contare campi vuoti

    domandona: se ho un form con 4 campi input text come faccio a fare in modo che quando l'utente ne compila uno e preme submit mi risulti un alert che mi dice "lo sai che hai lasciato 3 campi vuoti?";

    insomma vorrei che mi contasse quanti campi restano vuoti.ho bisogno di quel numero.

  2. #2
    codice:
    function counter(f) {
     var cvuoti=0;
     for (var i=0; i<f.elements.length; i++)
      if (f.elements[i].type=="text" && f.elements[i].value=="") cvuoti++;
     if (cvuoti>0) {
      alert("Hai lasciato "+cvuoti+" campi vuoti.");
      return false;
     }
     return true;
    }
    da usare così:

    codice:
    <form name="q" onsubmit="return counter(this);" ... >
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    grande,

    e se dovessi fare il contrario?cioè contare qaunti campi sono compilati?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  4. #4

    Re: grande,

    Originariamente inviato da tespiego
    e se dovessi fare il contrario?cioè contare qaunti campi sono compilati?
    codice:
    if (f.elements[i].type=="text" && f.elements[i].value!="")
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    ottimo..

    ultima domanda: se oltre ai campi text ne uno di tipo select?

    credo che dovro aggiungere qualcosa del tipo :
    if (f.elements[i].type=="text" && f.elements[i].type=="select" && f.elements[i].value!="")

    o qualcosa di simile?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  6. #6
    così:

    codice:
    if ((f.elements[i].type=="text" && f.elements[i].value=="") || (f.elements[i].type=="select" && f.elements[i].selectedIndex==0)) cvuoti++;
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    proprio l'ultima..

    ho modificato la stringa che mi hai dato cosi:
    if ((f.elements[i].type=="text" && f.elements[i].value!="") || (f.elements[i].type=="select" && f.elements[i].selectedIndex==0)) cpieni++;

    perche mi serve il numero dei campi pieni,pero non valuta se il campo select è selezionato o no. cioe mi controlla solo i campi text.

    devo cambiare in qualche modo la parte:f.elements[i].type=="select" && f.elements[i].selectedIndex==0?
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  8. #8
    codice:
    if ((f.elements[i].type=="text" && f.elements[i].value!="") || (f.elements[i].type=="select" && f.elements[i].selectedIndex>0)) cpieni++;
    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    487

    non va..

    mi vede solo il campo text
    Vivi intensamente, muori giovane e sarai un cadavere di bell' aspetto.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    26
    risolto.. era da mettere
    f.elements[i].type=="select-one"

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.