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 :

Impossible d'affecter du code CSS


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 86
    Points : 66
    Points
    66
    Par défaut Impossible d'affecter du code CSS
    Bonsoir,

    J'ai un code qui consiste à saisir un pseudo et un email, une fois celui-ci valide je clique sur le bouton validé et ce bouton doit mettre en fond rouge la valeur fausse
    remarque : pour avoir une valeur fausse il suffit de saisir un pseudo avec des caractère :"('-"-'&é'"('""
    (or ceci ne fonctionne que au code pas de façon permanente).
    Je ne vois pas d'ou peux venir mon erreur.

    Voici mon code :

    code 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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    function est_alphanumerique(chaine) {
    	//cette fonction verifie si le caractere est alphanumerique des lettres majuscules et miniscules et des nombres
        var i;
        for (i = 0; i < chaine.length; i = i + 1) {
            if (chaine.charCodeAt(i) < 48 || (chaine.charCodeAt(i)>=58 && chaine.charCodeAt(i)<=64)||(chaine.charCodeAt(i)>=91 && chaine.charCodeAt(i)<=96)||chaine.charCodeAt(i)>=123) {
                return 0;
            }
        }
        return 1;
    }
    function est_correcte_mail(mail) {
    	//cette fonction verifie le mail avec présence d'un seul @ et d'un seul point avec au moins 2 caractères avant et après le point
    	var i;
    	var point=0;
    	var arob=0;
    	var nb=0;
    	var nb1=0;
        for (i = 0; i < mail.length; i = i + 1) {
    		if (mail.charCodeAt(i) == 64) {
    			nb=nb+1;
    			arob=i;
    		}
    		if (mail.charCodeAt(i) == 46) {
    			nb1=nb1+1;
    			point=i;
    		}
    	}
    	if (nb > 1 || nb1 > 1) {
    		return 0;
    	} else {
    		if (point-arob>=3 && mail.length-1-point>=2) {
    			return 1;	
    		} else {
    			return 0;
    		}
    	}
     
    }
    function desactiver_validation() {
    }
    function verification_formulaire() {
        "use strict";
        var pseudo = document.getElementById("pseudo").value;
        var mail = document.getElementById("mail").value;
        var i = 0;
    	var erreur=0
        if (8 <= pseudo.length && pseudo.length <= 25) {
            if (est_alphanumerique(pseudo)) {
    			if (mail.length <= 25) {
    				if(est_correcte_mail(mail)) {
    					alert("Compte enregistré");
    					//c'est à cette ligne ci-dessus que le code ne fonctionne pas
    					document.getElementById("bouton").setAttribute("disabled", "true");
    				} 
    				else 
    				{
    					erreur=2;
    				}
    			} 
    			else 
    			{
    				erreur=2;
    			}
            }
    		else 
    		{
     
    			erreur=1;
    		}
    	}
    	else 
    	{
    		erreur=1;
    	}
    	if (erreur==1) {
    		document.getElementById("pseudo").style.backgroundColor = "red";
    	}
    	if (erreur==2) {
    		document.getElementById("mail").style.backgroundColor = "red";
    	}
     
    }
    Code HTML : 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
    <!DOCTYPE html>
    <html lang="fr">
       <head>
     
          <link rel="stylesheet" href="style.css" />   
          <title>TP7_exo1</title>
          <script src="scripts.js"></script>
       </head>
       <body>
     
    		<form>
    			<p>
    			   <label for="pseudo">Votre pseudo :</label>
    			   <input maxlength="30" type="text" name="pseudo" id="pseudo" />
    			   <br/>
    			   <label for="mail">Votre adresse mail :</label>
    			   <input maxlength="30" type="mail" name="mail" id="mail" />
    			   <input id="bouton" type="submit" onClick="verification_formulaire()" value="Valider" />
    			</p>
    		</form>
       </body>
    </html>

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    body 
    {
    	background-color:gray;
    }

    Voici les liens pour tester le code:
    https://154160.playcode.io/?pseudo=&mail=
    https://playcode.io/154167?tabs=cons...ex.html&output

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut

    (or ceci ne fonctionne que au code pas de façon permanente)
    Peux tu être plus explicite ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Je ne suis pas sûr d'avoir compris ce que tu veux dire (je vais regarder le code...) mais juste pour info tu pourrais utiliser l'attribut "pattern" :

    Citation Envoyé par MDN
    Une expression rationnelle qui permet de vérifier la valeur saisie. L'expression doit correspondre à la valeur entière. L'attribut title peut être utilisé pour décrire le motif et aider l'utilisateur. Cet attribut est appliqué lorsque type vaut text, search, tel, url, email ou password, dans les autres cas, il est ignoré. Le langage d'expression rationnelle est le même que celui utilisé en JavaScript (cf. RegExp) et le paramètre 'u' permet de traiter l'expression comme une suite de codets Unicode. L'expression utilisée n'est pas entourée de barres obliques (slash).
    Tu peux personnaliser le message et le CSS avec ":valid" et ":invalid"...

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Ah j'ai regardé ton code, il y aurait beaucoup de chose à dire...

    Citation Envoyé par lockmanz Voir le message
    (or ceci ne fonctionne que au code pas de façon permanente).
    La vérification tu la lances seulement quand on clique sur le bouton "valider" donc avant cela il ne se passe rien alors si tu veux la lancer à chaque fois qu'on tape une touche il faudra traiter l'éventement keyup...

    Je te conseil ce que je t'ai dit dans mon message précédent...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 86
    Points : 66
    Points
    66
    Par défaut
    Merci pour vos réponses,
    pour être plus précis, ce que je veux c'est que dès que je clique sur valider si mon pseudo (ou mail) ne respecte pas la syntaxe le fond de celui-ci devient rouge (au lieu de blanc) et reste rouge.
    Or dans mon code il est rouge qu'une fraction de seconde lorsque j'appuie sur le bouton valider.

  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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    tu lances la vérification sur le onclick de ton bouton submit ...
    à aucun moment tu n'inhibes l'envoi ...
    je ne vois pas de return false
    Jette un oeil par là
    https://www.developpez.net/forums/d5...on-formulaire/
    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. Affecter un code CSS à un bouton submit
    Par supcomingenieur dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 28/05/2013, 12h46
  2. difficulté à appliquer les classes avec un code css
    Par pharaonline dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 24/02/2006, 15h52
  3. Code CSS propre
    Par keawee dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 21/10/2005, 21h59
  4. Impossible d'affecter un événement
    Par Costello dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/08/2005, 16h18
  5. coller de div avec un code css identique.
    Par samourai_alex dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 29/07/2005, 20h16

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