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 :

[contourné]probleme changement de style en javascript


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de Davboc
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 266
    Points : 168
    Points
    168
    Par défaut [contourné]probleme changement de style en javascript
    Bonjour
    J'ai besoin de changer la hauteur d'un fieldset en javascript, j'ai donc procédé comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function UpdatePhaseDispSize(){
    <?php $PhaseDispSize=50+40*$NbPhase+200*$NbAction;      
    echo ("document.getElementById('PhaseDisp').style.height = '$PhaseDispSize';");
    echo("alert($PhaseDispSize);");?>
    UpdatePhase();
    }
    Le Fieldset en question est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<fieldset id='PhaseDisp' class="ligne" style="height:<?php echo(50+40*$NbPhase)?>px; top:520px;">
    Le problème que j'ai est que à l'appel de la fonction la taille est effectivement modifiée (celle donnée par le alert est bonne) mais dès que je clique sur ok dans le alert, soit dès que je passe à la fonction suivante, le fieldset reviens à sa taille initiale...

    Vous y comprenez quelquechose ? Là j'ai trop de mal...

    La fonction d'après est une fonction ajax

    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
    function UpdatePhase(){
    				getXhr();
    				// Definition of what to do when we'll have the server response
    				xhr.onreadystatechange = function(){
    				// If everything has been received and if the server is ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						NewHTMLCode = xhr.responseText;
    				// We use innerHTML to change the HTML code
    						document.getElementById('Phase').innerHTML = unescape(NewHTMLCode) ;
    				// Call of the function that updates the next field
    						//UpdatePhaseDate();
    					}
    				}
    				// Here we post the informations to generate the new HTML code
    				xhr.open("POST","DisplayProject-FieldUpdate.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				sel = document.getElementById('PhaseID');
    				phaseid = sel.value;
    				xhr.send('PhaseID='+phaseid+'&FieldNumber=20');
    			}
    elle n'agit pas directement sur le fieldset mais sur le contenu d'un span qui se trouve dans le fieldset...

    J'espère que vous saurez m'aider... Merci à ceux qui prendront la peine d'y reflechir !

    edit : ça ne vient pas de la fonction suivante j'ai essayé en l'enlevant ça ne change rien...

    edit 2 : J'ai essayé avec setAttribute(), le résultat est également inchangé...

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HtmlElement.style.height = "3px"

  3. #3
    Membre habitué Avatar de Davboc
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 266
    Points : 168
    Points
    168
    Par défaut
    Merci tu as raison je l'avais oublié
    Mais IE semble prendre les pixels comme unité par défaut, frontpage ne prend même pas la peine de mettre le px (je sais c'est pas une référence :p)

    Toujours est-il que le problème ne vient pas de là...

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Davboc
    Merci tu as raison je l'avais oublié
    Mais IE semble prendre les pixels comme unité par défaut, frontpage ne prend même pas la peine de mettre le px (je sais c'est pas une référence :p)

    Toujours est-il que le problème ne vient pas de là...
    IE oui mais pas FireFox... et puis en cas de changement, peut-être qu'il n'y a plus d'unité par défaut

  5. #5
    Membre habitué Avatar de Davboc
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 266
    Points : 168
    Points
    168
    Par défaut
    Mon appli n'est destinée qu'à IE... mais bon tu as raison mieux vaut faire propre...

  6. #6
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Davboc
    Le problème que j'ai est que à l'appel de la fonction la taille est effectivement modifiée (celle donnée par le alert est bonne) mais dès que je clique sur ok dans le alert, soit dès que je passe à la fonction suivante, le fieldset reviens à sa taille initiale...
    Tu veux réduire ton fieldset ou l'augmenter? Pour le réduire, je ne suis pas sur que ie accepte.... Pour l'augmenter ça devrait marcher comme tu l'as fait.

    Tu as bien un élement unique avec cet id?

  7. #7
    Membre habitué Avatar de Davboc
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 266
    Points : 168
    Points
    168
    Par défaut
    Oui j'ai ce vérifié ce point.

    Je cherche en fait à ce qu'il ait une taille dynamique, car dans certains cas je peux n'avoir qu'une ligne a afficher et dans d'autres je peux en avoir une trentaine...

    La taille se modifie bien mais elle ne reste en place que le temps d'éxecution de la fonction...

    Un truc bizarre mais qui pourra ptet aider :

    Le lien 1 demande un cadre de 330px et le lien 2 en demande un de 730px

    Quand je clique sur l'un puis sur l'autre, le premier cadre est de la bonne taille mais le second prend la taille du premier. Il faut que je reclique pour qu'il prenne la taille qu'il était censé avoir calculé...

    Bizarre non ? les tailles sont calculées en PHP d'après des requetes mySQL


    Egalement je ne sais pas si j'ai précisé, mais la fonction suivante qui est censée afficher un bout de texte ne l'affiche plus non plus...

  8. #8
    Membre habitué Avatar de Davboc
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 266
    Points : 168
    Points
    168
    Par défaut
    J'ai mis en commentaire la fonction de redimmensionnement pour continuer sur l'affichage des champs, et je me rends compte que ça fait pareil... Le champ s'affiche puis disparait aussitôt...



    J'ai trouvé une bourde (?)
    J'ai appelé sur les liens la page elle même avec des données en get et sur le meme lien une fonction ajax avec l'élément onclick donc ça devait déconner à cause de ça...

    Je me rends compte que je n'ai pas besoin d'ajax puisque ça n'est pas grave si toute la page se recharge... Je vais donc bidouiller en php

    Merci à ceux qui se sont penchés sur mon problème

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

Discussions similaires

  1. Changement du style d'une classe CSS en javascript
    Par scrouet dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 05/11/2009, 18h58
  2. [XP Pro SP2] Probleme changement de fenetres
    Par romdelf dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 23/11/2005, 21h19
  3. Changer le style en JavaScript [besoin d'aide]
    Par maximenet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/09/2005, 17h21
  4. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 15h36
  5. Réponses: 2
    Dernier message: 08/08/2003, 17h30

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