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 :

Bug si trop de javascript ?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    F�vrier 2008
    Messages
    457
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 457
    Par d�faut Bug si trop de javascript ?
    Bonjour � tous,

    La question peut sembl�e �trange mais je vous explique :

    J'ai deux listes (select multiple) contenant +- 150 lignes.
    Je permets de passer les �l�ments d'une liste � une autre.
    Lorsqu'un �l�ment passe d'une liste � une autre, certaines choses sont g�n�r�es encore en background.

    Tout fonctionne � merveille, seulement, si je d�place les 150 par exemple, ils sont bels et biens d�plac�s mais le bouton submit de mon formulaire ne fonctionne alors plus !

    C'est un simple bouton qui appelle une servlet java (<form action=".." ..)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <input type="submit" name="validation" value="valider"/>
    Pouvez-vous m'en dire plus ?

    Merci.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    la fonction boule de cristal est en panne. Veuillez laisser un peu plus de code apr�s le beep sonore...

  3. #3
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Comme dit Mathieu, il nous manque des �l�ments* pour en juger...

    Par contre, pour r�pondre � ton titre... dans le cas que tu d�cris, ne t'inquiete pas, aucune chance que 150 lignes dans un select soit consid�r� comme "trop de javascript"

    Montre-nous plus de code pour un meilleur diagnostic, ou bien un lien si c'est en ligne...


    * tiens �a me rappelle un vieux jeu cette phrase... (megalomania pour les connaisseurs )

  4. #4
    Membre �clair�
    Inscrit en
    F�vrier 2008
    Messages
    457
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 457
    Par d�faut
    Voici ce qu'il se passe lorsque j'ajoute d�place des lignes :

    Appel de la fonction ajout qui d�termine entre autre quelles sont les lignes consern�es et les d�placent, ensuite appel de addOption qui est en fait, une liste multiple cach�e.
    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
     
    function Ajouter(){ 	
     var NbEle = -1;  var moved = 0;	var TxtEle = ''; var valueEle='';
     var longu = document.all('lstSource').length;
            for(i = 0; i < longu; i++){
     	  if (document.all('lstSource' ).options[(i-moved)].selected)  {
                        NbEle = (i - moved); TxtEle = document.all('lstSource' ).options[(i - moved)].text; valueEle = document.all('lstSource' ).options[(i - moved)].value;
    	if (NbSource != 0 && NbEle != -1){     
                        addOption(document.all('lstSource' ).options[NbEle].value);   	       document.all('lstSource' ).options[NbEle] = null; 	                document.all('lstCible' ).options[NbCible] = new Option(TxtEle,valueEle);  
     if(document.all('userType').selectedIndex==0){  
    document.all('lstCible' ).options[NbCible].style.backgroundColor='#f4f6e3';} 
     if(document.all('userType').selectedIndex==1){  
    document.all('lstCible' ).options[NbCible].style.backgroundColor='#75c1d1';} 
     if(document.all('userType').selectedIndex==2){ 
     document.all('lstCible' ).options[NbCible].style.backgroundColor='#89d8b5';} 
     if(document.all('userType').selectedIndex==3){  
    document.all('lstCible' ).options[NbCible].style.backgroundColor='#33869c';}	  NbCible = NbCible + 1; 	  NbSource = NbSource - 1;     moved = moved +1;	} 	  } 	} 	 }
    Ensuite donc, appel de addZones
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    function addOption(valeur){ 
     document.myForm.toUpdate.options[nbAjout]= new Option(valeur,valeur);document.myForm.toUpdate.options[nbAjout].selected='selected';addZones(valeur);nbAjout=nbAjout+1;
    }
    addZones:
    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
     
    function addZones(valeur){
      var elmt = document.myForm.zones; var myZones = '';
    for(var i=0; i< elmt.options.length; i++)	
    { 		
     if(elmt.options[i].selected == true)     	
     {			
         myZones += elmt.options[i].value; myZones += ':';	
     }
    }	
    document.myForm.toUpdateZones.options[nbAjout] 
          = new Option(myZones,myZones);
    document.myForm.toUpdateZones.options[nbAjout].selected='selected';var valDroit=document.all('userType').options[document.all('userType').selectedIndex].value;
    document.myForm.toUpdateRights.options[nbAjout] = new Option(valDroit,valDroit);	
    document.myForm.toUpdateRights.options[nbAjout].selected='selected';
    }
    Voil� le processus, avec �a, m�me sans sa boule de cristal madame irma pourrait s'en sortir

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Il y a d�j� eu dans ce forum de tr�s nombreux thread � propos de form qui ne fonctionnent plus apr�s ajout "dynamique" d'inputs sans passer par le DOM.

    Ici, m�me pas la peine de parler de DOM, c'est vraisemblablement du code �crit pour IE uniquement, et qui date beaucoup...

    Le code javascript du site est-il trop volumineux dans ton projet pour envisager une r��criture compl�te sur des bases saines ? Si oui, je te conseille une recherche dans ce forum � partir des termes clefs, tu devrais faire une grosse r�colte... ^^

    Citation Envoy� par libuma
    avec �a, m�me sans sa boule de cristal madame irma pourrait s'en sortir
    je ne connais pas cette d�veloppeuse appel�e "irma", mais je connais un/une "libuma" qui va faire beaucoup de javascript dans les prochains jours/semaines...

  6. #6
    Membre �clair�
    Inscrit en
    F�vrier 2008
    Messages
    457
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 457
    Par d�faut
    Effectivement, �a doit tourner sur IE et qui plus est, sur une vieille version d'IE !

    Sinon, base saine, un exemple concret de changement sain envisageable?


    Citation Envoy� par RomainVALERI Voir le message
    je ne connais pas cette d�veloppeuse appel�e "irma", mais je connais un/une "libuma" qui va faire beaucoup de javascript dans les prochains jours/semaines...
    Quelle pr�diction impressionnante !!

    Je n'ai pas de bol

    Merci pour tes r�ponses.

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    Evite de lancer la m�me fontion 150 fois exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var eltSource=document.getElementById('lstSource' )

  8. #8
    Membre �clair�
    Inscrit en
    F�vrier 2008
    Messages
    457
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 457
    Par d�faut
    Citation Envoy� par Matthieu2000 Voir le message
    Evite de lancer la m�me fontion 150 fois exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var eltSource=document.getElementById('lstSource' )
    tu veux dire afin d'�viter d'avoir un peu partout dans la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
      if (document.all('lstSource' ).options[(i-moved)].selected)  {
    mais plut�t..
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    if(eltSource.options[(i-moved)].selected) {
    Si oui, je ne savais pas que �a prenait beaucoup moins de ressources de cette fa�on

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Bug colormap : trop de couleurs ?
    Par Vpoint dans le forum MATLAB
    R�ponses: 2
    Dernier message: 05/12/2011, 14h54
  2. comment vous r�solvez des bugs sur du code javascript
    Par bigs3232 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 12/12/2010, 20h11
  3. Bug sur un morceau Javascript
    Par soledad_001 dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 06/11/2009, 17h46
  4. Bug d'IE concernant le Javascript ?
    Par becks dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 28/06/2005, 14h35

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