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

jQuery Discussion :

Optimisation code traitement formulaire


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut Optimisation code traitement formulaire
    Bonjour,

    J'ai un formulaire html où l'internaute renseigne plusieurs champs.
    Son nom doit s'afficher en majuscules.
    J'ai donc créer un petit script qui me permet de faire cela et qui fonctionne mais j'aimerais l'automatiser pour pouvoir le faire pour plusieurs champs

    Voici ce que j'ai fait et qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    nom = $('#edit-submitted-le-licencie-nom');
    nom.change(function() {
    	//alert(nom.val().toUpperCase());
    	majuscules = nom.val().toUpperCase();
    	nom.val(majuscules);
    });
    J'aimerais le faire également pour d'autres champs.
    J'ai donc créé un tableau comprenant tous mes champs à modifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    array = [$('#edit-submitted-le-licencie-nom'),
    	    $('#edit-submitted-les-parents-mere-m-nom'),
    	    $('#edit-submitted-les-parents-pere-p-nom')
    	   ];
    Le problème c'est que je ne sais pas trop comment le parcourir en mêlant la fonction .each et .change

    J'ai testé quelques petits trucs mais qui ne fonctionnent pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.each(array, function(value){
    	value.change(function() {
    		alert(value.val().toUpperCase());
    		majuscules = value.val().toUpperCase();
    		value.val(majuscules);
    	});
    });
    Pouvez-vous me guider, SVP?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Commence déjà par regarder la syntaxe de jQuery.each().

    Ensuite array.change(function() {...}) ça n'a aucun sens. Il n'existe aucun événement lié à un tableau.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut
    effectivement je viens de le corriger dans mon message

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben oui mais c'est toujours pas ça !

    Le premier paramètre passé à la fonction de rappel est l'indice de l'élément, pas sa valeur.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut
    merci mais, je ne comprends pas trop car mon tableau se présente donc sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    array[0]=$('#edit-submitted-le-licencie-nom');
    array[1]=$('#edit-submitted-les-parents-mere-m-nom');
    array[2]=$('#edit-submitted-les-parents-pere-p-nom');
    si je fais ceci; ça ne marche pas non plus, il y a quelque chose qui m'échappe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.each(array, function(key, value){
    	key.change(function(value) {
    		alert(value.val().toUpperCase());
    		majuscules = value.val().toUpperCase();
    		value.val(majuscules);
    	});
    });

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    il y a quelque chose qui m'échappe
    Oui, je vois ça !

    Quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.each(array, function(key, value){...})
    key correspond aux index du tableau (0, 1, ...) et value à la valeur correspondante (array[0], array[1], ...)
    Tu utilises donc les paramètres dans le mauvais ordre.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. [C++/VB.Net]Optimiser des traitements lourds
    Par NiamorH dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2006, 10h03
  2. Optimiser mon traitement de données
    Par glsn dans le forum Requêtes
    Réponses: 29
    Dernier message: 15/05/2006, 10h35
  3. [PHP-JS] [javascrip + php] traitement formulaire
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2006, 13h13
  4. [XSLT] Comment optimiser les traitements XML/XSL ?
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/03/2006, 16h39
  5. pbl de code avec formulaire
    Par nedime dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2006, 15h12

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