IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Réinitialisation de champs de form après vérification onsubmit


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 382
    Par défaut Réinitialisation de champs de form après vérification onsubmit
    bonjour a tous,

    j'ai une page html contenant un petit formulaire tout simple, j'ai crée un code en javascript qui permet de vérifier les données. Le seul probleme c quant-il y a une valeur fausse, il supprime toutes les données bonnes, on est obligé de re-remplir le formulaire.

    Ma question :
    est ce qu'il est possible de garder les donnees qui sont bonnes et d'enlever seulement les donnees qui sont fausses??

    voici le code en javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <script type="text/javascript" language="JavaScript">
    function couleur(obj) 
    	{
         obj.style.backgroundColor = "#FFFFFF";
    	}
     
    function check() {
    	var msg = "";
     
    //Vérification du mail s'il n'est pas vide on vérifie le . et @
     
    		if (document.contact.email.value != "")	{
    		indexAroba = document.contact.email.value.indexOf('@');
    		indexPoint = document.contact.email.value.indexOf('.');
    		if ((indexAroba < 0) || (indexPoint < 0))		{
     
    //dans le cas ou il manque soit le . soit l'@ on modifie la couleur d'arrière plan du champ mail et on défini un message d'alerte
     
    			document.contact.email.style.backgroundColor = "#F3C200";
    			msg += "Le mail est incorrect\n";
    		}
    	}
     
    //Notre champs mail est vide donc on change la couleur et on défini un autre message d'alerte
     
    	else	{
    		document.contact.email.style.backgroundColor = "#F3C200";
    		msg += "Veuillez saisir votre adresse mail.\n";
    	}
     
    //ici on vérifie si le champs nom est vide, (si oui) on défini la couleur du champs et on défini un message d'alerte
    if (document.contact.nom.value == "")	{
    		msg += "Veuillez saisir votre Nom\n";
    		document.contact.nom.style.backgroundColor = "#F3C200";
    	}
     
    //meme manipulation pour le champ prénom
    if (document.contact.prenom.value == "")	{
    		msg += "Veuillez saisir votre Prénom\n";
    		document.contact.prenom.style.backgroundColor = "#F3C200";
    	}
     
    //meme manipulation pour le champ prénom
    if (document.contact.message.value == "")	{
    		msg += "Veuillez saisir votre message\n";
    		document.contact.message.style.backgroundColor = "#F3C200";
    	}
     
     
    //Si aucun message d'alerte a été initialisé on retourne TRUE
    	if (msg == "") return(true);
     
    //Si un message d'alerte a été initialisé on lance l'alerte
    	else	{
    		alert(msg);
    		return(false);
    	}
    }
     
     
     
    </script>
    merci d'avance

    ciao

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    il faudrait voir comment tu appelles la fonction (onclick du bouton submit ?)

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 382
    Par défaut
    voici le petit formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form method='POST' action='#' name='contact' onsubmit="check();">
    Nom : <input type='text' name='nom' onKeyUp="javascript:couleur(this);"/><br />
    Prénom : <input type='text' name='prenom' onKeyUp="javascript:couleur(this);"/><br />
    Email : <input type='text' name='email' onKeyUp="javascript:couleur(this);"/><br />
    Message : <textarea name='message' rows='10' cols='20' onKeyUp="javascript:couleur(this);"></textarea><br />
     
    <input type='submit' name='envoyer' value='ENVOYER' />
    <input type='reset' name='annuler' value='ANNULER' />
    </form>
    merci d'avance

    ciao

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return check();"


    EDIT : enlève le "javascript:" dans les évènements : inutile
    les évènements (et autres nom d'attributs) s'écrivent en minuscules (ex : onkeyup)

    A+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 382
    Par défaut
    ok ça marche, merci beaucoup E.Bzz

    encore une autre petite question : (tu es victime de ton succes.lol)
    si un chammp est faux, j'aimerai le vider et non garder la valeur fausse

    est ce que tu peux me dire comment faire?????

    merci

    ciao

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/04/2014, 17h37
  2. comment réinitialiser les champs apres submit
    Par ouldfella dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2012, 10h50
  3. Upload de fichier après vérification d'un champ du formulaire
    Par knnwilliam dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 18/11/2009, 10h07
  4. Réponses: 8
    Dernier message: 18/01/2009, 13h02
  5. Réponses: 4
    Dernier message: 20/06/2007, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo