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 :

une optimisation de code


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut une optimisation de code
    bonjour.

    je viens ici pour vous demander de m'aider à faire une optimisation de mon code
    il transforme un formulaire en objet.

    FormToJson.js :
    FormToJson.js

    si c'est possible.

    vue que je suis dedans je vois pas ce qui est optimisable je suis donc en quête d'un point de vue exterieur car si c'est pas optimisé ça risque de bourrer le navigateur du client.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    alors au premier coup d'oeil :
    - Eviter les eval !!
    - stocker la taille des tableaux dans les boucles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var taille = montab.length ;
    for(var i = 0 ; i < taille ; i++){
    ...
    }
    créer des méthodes pour les sous-traiter plutôt que de faire des boucles imbriquées

    voila mes premières impressions

  3. #3
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    en fait là j'ai 2 dimention à parcourir.

    les forms qui ont le même nom et les éléments de chaque form.

    que j'explique comme on ne peut pas faire de sous formulaires (sauf si j'ai loupé quelque chose ) je suis obligé dans ma situation de faire des forms fragmentés.

    j'ai une question ...

    comment je peut contourner les evals de ce genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // code épuré pas de contrôles ici
    var temp = document.getElementsByName(nom);
     
    for(var k = 0; k < temp.length; k++){
       for(var i = 0; i < temp[k].elements.length; i++){
          eval("obj."+temp[k].elements[i].type.replace(/\-/, '_').toLowerCase()+"."+temp[k].elements[i].name+"."+temp[k].elements[i].id+" = \""+temp[k].elements[i].value+"\"");
       }
    }

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    tu peux contourner les éval en récupérant tous les éléments de ton formulaire , puis en vérifiant s'il appartiennent a ton formulaire

  5. #5
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    je pige pas bien là.

    moi ce que je veux c'est un truc comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form name="toto">
       <input type="text" name="nom" value="dragonfel"/>
       <input type="text" name="prenom" value="hiul" />
       <input type="text" name="adresse" value="chez moi" />
       <select name="genre">
          <otpion value="homme" selected="selected" >homme</option>
          <otpion value="femme">femme</option>
       </select>
       <input type="checkbox" name="show[]" id="FA022215" value="true" checked="checked"/>
       <input type="checkbox" name="show[]" id="FA022225" value="true"/>
       <input type="checkbox" name="show[]" id="FA022268" value="true" checked="checked"/>
    </form>

    j'obtienne ça :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    commande lien : toto
    result :
    {"text"             :{"nom" : "dragonfel", "prenom" : "hiul", "adresse" : "chez moi"},
     "hidden"           :{},
     "checkbox"         :{"show" : {"FA022215" : "true", "FA022225" : "false", "FA022268" : "true"}},
     "radio"            :{},
     "textarea"         :{},
     "select_one"       :{"genre" : "homme"},
     "select_multiple"  :{},
     "password"         :{}
    }

    donc j'ai besoin d'insérer le nom et l'id (quand il existe) de chaque élément.
    comment faire pour éviter le eval dans ce cas ?

    à moins que je créé une chaine Json que j'évalue à la fin

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    tiens un très bon exemple sur les objets

    http://t-templier.developpez.com/tut...cript-poo1/#L1

    si tu n'y arrives pas je t'aiderais a créer la méthode

Discussions similaires

  1. [NASM] Optimiser le code d'une droite
    Par powerpsy dans le forum Assembleur
    Réponses: 1
    Dernier message: 28/04/2006, 23h27
  2. Optimisation du code dans une page JSP
    Par nikalkal dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/04/2006, 15h58
  3. Réponses: 13
    Dernier message: 20/04/2006, 15h37
  4. Experts Mysql : Optimiser une requete sur codes postaux
    Par El Riiico dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/01/2006, 18h00
  5. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41

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