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

    problema controllo campi obbligatori

    Ciao a tutti,
    sto utilizzando questo script per il controllo della compilazione dei campi di un form:

    codice:
    <script type="Text/JavaScript">
    function controllo(f) {  
      if (f.campousername.value=="") {
      alert("Campo 'Username' obbligatorio.");
      f.campousername.focus();  
      return false;
     }
      if (f.campopassword.value=="") {
      alert("Campo 'Password' obbligatorio.");
      f.campopassword.focus();  
      return false;
     }
      if ((f.campopassword != "") & (f.campopassword.value != f.camporipetipassword.value)) {
      alert("Campo 'Password' e Campo 'Ripeti Password' sono differrenti.");
      f.camporipetipassword.focus();  
      return false;
     }
      if (f.campoemail.value=="") {
      alert("Campo 'E-mail' obbligatorio.");
      f.campoemail.focus();  
      return false;
     } 
      if ((f.campoemail != "") & (f.campoemail.value != f.camporipetiemail.value)) {
      alert("Campo 'E-mail' e Campo 'Ripeti E-mail' sono differrenti.");
      f.camporipetiemail.focus();  
      return false;
     } 
      if (f.camponome.value=="") {
      alert("Campo 'Nome' obbligatorio.");
      f.camponome.focus();  
      return false;
     }
      if (f.campocognome.value=="") {
      alert("Campo 'Cognome' obbligatorio.");
      f.campocognome.focus();  
      return false;
     } 
      if (f.campodatadinascitaGG.value.length<2) {
      alert("Campo 'Data di nascita Giorno' deve essere obbligatoriamente di 2 caratteri.");
      f.campodatadinascitaGG.focus();  
      return false;
     }  
      if (f.campodatadinascitaMM.value.length<2) {
      alert("Campo 'Data di nascita Mese' deve essere obbligatoriamente di 2 caratteri.");
      f.campodatadinascitaMM.focus();  
      return false;
     }   
      if (f.campodatadinascitaAAAA.value.length<4) {
      alert("Campo 'Data di nascita Anno' deve essere obbligatoriamente di 4 caratteri.");
      f.campodatadinascitaAAAA.focus();  
      return false;
     }   
      if (f.campocodicefiscale.value=="") {
      alert("Campo 'Codice fiscale' obbligatorio.");
      f.campocodicefiscale.focus();  
      return false;
     }
      if (f.campocodicefiscale.value.length<10) {
      alert("Codice fiscale non corretto.");
      f.campocodicefiscale.focus();  
      return false;
     }
      if (f.campodatadinascitaAAAA.value.substr(2,2) != f.campocodicefiscale.value.substr(6,2)) {
      alert("Codice fiscale non corretto.");
      f.campocodicefiscale.focus();  
      return false;
     }
      if (f.campoindirizzo.value=="") {
      alert("Campo 'Indirizzo' obbligatorio.");
      f.campoindirizzo.focus();  
      return false;
     }
      if (f.camponumero.value=="") {
      alert("Campo 'Numero' obbligatorio.");
      f.camponumero.focus();  
      return false;
     }
      if (f.campocap.value=="") {
      alert("Campo 'Cap' obbligatorio.");
      f.campocap.focus();  
      return false;
     }
      if (f.regioni.selectedIndex==0) {
      alert("Fai una selezione nel Campo 'Regione'.");
      f.regioni.focus();  
      return false;
     } 
      if (f.province.selectedIndex==0) {
      alert("Fai una selezione nel Campo 'Provincia'.");
      f.province.focus();  
      return false;
     }
      if (f.comuni.selectedIndex==0) {
      alert("Fai una selezione nel Campo 'Città'.");
      f.comuni.focus();  
      return false;
     } 
      if (document.getElementById('accettoNO').checked) {
      alert("Per potersi registrare bisogna aver letto e accettato le Condizioni Generali di Servizio e l'Informativa sulla Privacy.");
      document.getElementById('accettoNO').focus();  
      return false;
     }  
                 
     return true;
    } 
    </script>
    ho notato però che alcuni utenti riescono a superare tali controlli.
    Ho pensato che alcuni browser o alcune configurazioni non "vedano" questi script e quindi rendano vani i controlli che ho impostato.

    Che mi dite?
    Da tempo utilizzo questi controlli e non ho mai avuto problemi di questo tipo.

    Fatemi sapere.
    Grazie mille.

  2. #2
    Ho trovato il problema.
    su Mozilla non accetta questi 2 tipi di controlli:

    codice:
      if (f.regioni.selectedIndex==0) {
      alert("Fai una selezione nel Campo 'Regione'.");
      f.regioni.focus();  
      return false;
     } 
      if (document.getElementById('accettoNO').checked) {
      alert("Per potersi registrare bisogna aver letto e accettato le Condizioni Generali di Servizio e l'Informativa sulla Privacy.");
      document.getElementById('accettoNO').focus();  
      return false;
     }
    come devo modificare?

    Fatemi sapere.
    Grazie!!

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    i controlli sono corretti (=funzionano in mozilla), l' errore e' altrove.

  4. #4
    Molto strano perchè i controlli che ho indicato nel primo post funzionano tutti tranne quelli che ho poi evidenziato dopo.
    Può essere che non prenda in considerazione:
    codice:
    selectedIndex
    e
    codice:
    getElementById('accettoNO').checked
    Sicuramente c'è qualcosa che non va nella parte di codice che ho indicato...

    Questo è il sito dove puoi vedere il problema: www.kase.it
    Nella sezione registrazione fa i controlli che ho indicato in precedenza; volendo puoi fare una prova così vedi meglio. Ho messo tutti i campi obbligatori, come potrai notare tutto funziona tranne i campi select e il check box, appunto quelli che ti sto indicando.
    Ad un utente addirittura non ha caricato i menù a tendina dinamici delle regioni/province/comuni... lui utilizza firefox 1.5.0.9; io ho provato con questa versione e con la 2.0.0.1 e questo problema non lo riscontro.

    Fammi sapere.
    Grazie mille.

  5. #5
    Ok, ho trovato il problema.
    Il controllo sui select non viene effettuato solo su quelli dinamici (regione/provincia/città), sugli altri va benissimo il codice che ho indicato in precedenza.
    Se può essere utile ti scrivo i codici che sto utilizzando per la creazione di quei campi.

    Tieni presente che su I.E. funziona tutto perfettamente.

    Fammi sapere.
    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ciao, io ho provato (con FireFox 2.0) e mi dice, in console degli errori:

    f.regioni has no properties (riga 103) però il form me lo inoltra lo stesso... non ho controllato il resto, però di sicuro c'è quella cosa lì. Visto che però la select ha nome 'regioni' probabilmente l'errore è a monte.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    E si, mi ero accorto che il problema poteva essere solo su quei campi.
    I campi vengono creati dinamicamente e sono collegati fra loro nel senso che quando scelgo una regione mi da le province di tale regione e come scelgo al provincia mi da le città di quella provincia. Per far questo utilizzo il seguente codice:
    codice:
    <script type="text/javascript" language="javascript">
    //<![CDATA[
    url			= "http://www.kase.it/";
    d			= document;
    preloadText = "Generazione lista...";
    function caricaPagina(pagina,idLayer) 
    {
    	if (d.getElementById) {var x=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();}
    	if (x) 
      	{
    		d.getElementById(idLayer).innerHTML = preloadText;
        	x.onreadystatechange = function() 
    							   {
    							   	 if (x.readyState == 4 && x.status == 200) 
    							   	 {
    							   		el=d.getElementById(idLayer);el.innerHTML = x.responseText;
    								 }
    							   }
     		x.open("GET", url + pagina, true);
        	x.send(null);
      	}
    }
    function checkForm()
    {
    	var ilForm 				= d.forms[0];
    	var err					= true;
    	var lReg				= document.getElementById("ErrorRegioni");
    	var lProv				= document.getElementById("Errorprovince");
    	var lCom				= document.getElementById("ErrorComuni");
    	lReg.style.display = "none";lProv.style.display= "none";lCom.style.display="none";
    	if (ilForm.regioni.value == "") 
    	{ 
    		lReg.style.display 	= "block";lReg.innerHTML = "E' necessario selezionare una regione";	
    		err					= false;
    	}
    	if (ilForm.province.value == "") 
    	{ 
    		lProv.style.display	= "block";lProv.innerHTML= "E' necessario selezionare una provincia.";
    		err					= false;		
    	}
    	if (ilForm.comuni.value == "") 
    	{ 
    		lCom.style.display 	= "block";lCom.innerHTML= "E' necessario selezionare un comune.";
    		err					= false;		
    	}		
    	return err;
    }
    //]]>
    </script>
    che per le regioni richiamo così:
    codice:
    <div id="AHAH_regioni" class="stilenero11">
    	<select class="campoinput" name="regioni">															
    		<option value="">seleziona una regione</option>																																
    	</select>
    </div>
    Cosa può essere che non va??

  8. #8

  9. #9

  10. #10

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.