Visualizzazione dei risultati da 1 a 9 su 9

Discussione: controllo dinamico

  1. #1
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866

    controllo dinamico

    Ho la necessità di controllare un form con numero di elementi variabili; lo script che ho trovato controlla solo il primo elemento e quindi salta alla pagina prova.apsx;
    dove sbaglio?

    codice:
    <form name="form" method="Post" action="prova.aspx" onSubmit="return CheckForm(this);">
    
     <script type="text/JavaScript"> 
    <!--
    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;
        }
      }
    }
    // -->
    </script>
    
    	<input type="text" name="0" />
    
    
    	<input type="text" name="1" />
    
    
    	<input type="submit" name="submit" value="vai" />
    </form>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sbagli perché controlli solo il valore dell'elemento e il pulsante ha un valore definito "vai" fai cosi:
    if(f.elements[i].type == text'' && f.elements[i].value == ''){
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Grazie; con il tuo consiglio l'errore è che manca una parentesi tonda alla fine del tuo post;
    ma comunque dovrei fare il controllo nel pulsante?

  4. #4
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    l'errore era text'' cambiato con 'text', ma comunque continua a controllare solo il primo elemento.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    togli il return nel alert
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Funge! Se invece delle text metto le textarea, cosa cambierebbe?

  7. #7
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Ho tolto il controllo sul type e funge. In pratica si doveva solo togliere il return sull'alert.


  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Credo tutto le texarea non fanno parte della "collezione" input e non dispongono di type pertanto dovrai ciclare (for nuovo) solo quell'elemento specifico
    var area = document.getElementsByTagName("texarea")
    if(area.length>0){
    qui metti il ciclo for for(.......)
    }else{
    qui metti l'avviso se le form è presente una sola textarea
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    In realtà il controllo mi serviva proprio per le textarea, ma come ho detto, semplicemente togliendo return sull'alert è tutto ok. Ho già testato il controllo e va bene.
    Grazie!

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.