Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Tutti i campi obbligatori tranne uno

    Ciao a tutti.
    Ho uno scriptino che mi verifica che tutti i campi di un form siano compilati ma avrei anche l'esigenza di evitare il controllo su di un campo text specifico a seconda se questo sia "enabled" o "disabled".
    codice:
    function CheckForm() {
    
      var f = document.forms[0];
      var n = f.elements.length;
     
      for(var i = 0; i < n; i++){
        if(f.elements[i].value == ''){
          return alert('Error: value '+f.elements[i].name+ ' is empty');
          return false;
        }
      }
    }
    E' possibile evitare il controllo su di un campo quando questo è disabilitato e controllarlo quando invece è abilitato? Me la date una mano?
    Grazie

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Re: Tutti i campi obbligatori tranne uno

    codice:
    function CheckForm() {
    
      var f = document.forms[0];
      var n = f.elements.length;
     
      for(var i = 0; i < n; i++){
        if(f.elements[i].value == '' && !(f.elements[i].disabled)){
          return alert('Error: value '+f.elements[i].name+ ' is empty');
          return false;
        }
      }
    }
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    ciao fcaldera l'ho appena provato ed è perfetto.
    In pratica aggiungendo semplicemente questa istruzione "&& !(f.elements[i].disabled))" evita di verificare i campi disabilitati.
    Credo di aver capito che in questo modo anche se i campi disabilitati fossero più di uno ignorerebbe il controllo, giusto?
    Grazie infinite davvero:

  4. #4
    certamente, se sono più d'uno, più d'uno verrano saltati. Se ne vuoi uno e uno solo puoi provare a lavorare sull'indice dell'iterazione, se ad esempio il tuo elemento è il 3° input controlli che i == 2 ...
    Davide

  5. #5
    Si si certo, diciamo che a me va benissimo cosi ma la domanda era più che altro per comprenderne meglio il funzionamento, poi a tempo perso io ci faccio delle prove sui vari script. Grazie infinite comunque.

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.