Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    598

    Javascript ed action form

    Salve a tutti, ho fatto una piccola form e devo verificare che il CF sia formato da 16 caratteri, in caso positivo viene eseguita la post al contrario viene visualizzato un msg d'errore.

    Lo script è
    codice:
    <script language="JavaScript" type="text/JavaScript">
    function Modulo() {
    
    	form = document.iscrizione;
            caratteri=form.CodiceFiscale.value.length;
    
    	if (caratteri!=16) {
    		alert('Per proseguire è obbligatorio inserire il proprio codice fiscale');
    		return false;
    	} else {
    		document.form.submit();
    
    	}
    }
    </script>
    La Form:
    codice:
    <form name="iscrizione" method="post" action="elabora.php">
      <input name="CodiceFiscale" type="text" id="CodiceFiscale" size="20" maxlength="16">
      <input name="button" type="button" onClick="Modulo()" value="Invia">
      <input type="submit" name="Submit2" value="Annulla">
    </form>
    Il controllo sembra funzionare quando schiaccio il bottone modulo, ma se nella casella di test digito invio mi va in elabora.php direttamente senza eseguire il controllo.....come posso risolvere?
    grazie ed auguri
    Soffrire sempre mollare mai

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non si capisce cosa ci stia a fare questo:

    <input type="submit" name="Submit2" value="Annulla">

    Forse volevi scrivere type="reset"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    nel tag form usa
    onsubmit="return Modulo()"

    A questo punto la tua funzione diventa (occhio: non la ho testata scrivo di getto)
    codice:
    function Modulo() {
    
    	form = document.iscrizione;
            caratteri=form.CodiceFiscale.value.length;
    
    	if (caratteri!=16) {
    		alert('Per proseguire è obbligatorio inserire il proprio codice fiscale');
    		return false;
    	} 
    return true;
    }
    togli l'onclick dal bottone, ti basta un input subimt a questo punto

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    598
    Grazie funziona!
    Soffrire sempre mollare mai

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    598
    Purtroppo non va la post ora

    codice:
    ...
    <form name="iscrizione" method="post" action="elabora.php" onSubmit="return Modulo()">
    ...
    <input name="CodiceFiscale" type="text" id="CodiceFiscale" size="20" maxlength="16">
    ...
    <input name="button" type="submit" value="Invia">
    lo script
    codice:
    <script language="JavaScript" type="text/JavaScript">
    function Modulo() {
    
    	form = document.iscrizione;
        caratteri=form.CodiceFiscale.value.length;
    
    	if (caratteri!=16) {
    		alert('Per proseguire è obbligatorio inserire il proprio codice fiscale');
    		return false;
    	} else {
    		//document.form.submit();
    		return true;
    
    	}
    }
    </script>
    Soffrire sempre mollare mai

  6. #6
    assicurati che la funzione ritorni true: metti il return true alla fine della funzione, in modo da essere sicurissimo che non ritorni in nessun caso un undefined void.

    Poi, dettaglia meglio cosa è che non andrebbe se puoi.

  7. #7
    comunque qui funziona: passa regolarmente ad elabora.php se i caratteri sono 16.
    Dettaglia meglio cosa è che non funzionerebbe se puoi.

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.