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 :

[POO] JS, HTML et persistance de donn�es


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par d�faut [POO] JS, HTML et persistance de donn�es
    Bonjour,

    J'ai un probl�me avec du javascript embarqu� dans une page HTML.
    J'ai 2 boutons radio et une fonction qui vient choisir quel bouton s�lectionner par d�faut (le 1).
    1/ J'ouvre ma page avec IE7 (no comment) et tout se passe bien, le bouton 1 est s�lectionn�.
    2/ Je clique le bouton 2. Tout se passe comme pr�vu.
    3/ Je r�actualise ma page
    3a/ Je repasse par ma fonction de choix du bouton par d�faut et �a marche
    3b/ Il se passe quelque chose que je ne ma�trise pas et le bouton 2, que sur lequel j'avais cliqu� � l'�tape 2 est lui aussi s�lectionn� automatiquement.

    Pourquoi ? Comment �viter cel� ?

    Commentaires:
    - J'ai essay� de supprimer les cookies, les donn�es de formulaire et les fichiers temporaires avant de r�actualiser ma page, mais ce n'est pas mieux.
    - Dans l'exemple de code que je donne, j'ai un if(1) qui remplace une vraie fonction, ce qui m'interdit de simplement mettre le "checked" � "true" dans la cr�ation du bouton.

    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
    <script language="Javascript">
     
       //Message popup activeX object
       var WshShell = new ActiveXObject("WScript.Shell");
     
     
       function DefaultConfig()
          {
          if(1)
             {
             document.getElementById("myRadio1").checked = true;
             document.getElementById("myRadio2").checked = false;
             WshShell.Popup("check radio 1");
             }
          else
             {
             document.getElementById("myRadio1").checked = false
             document.getElementById("myRadio2").checked = true;
             WshShell.Popup("check radio 2");
             }
         }
    </script>
     
    <form name="myForm">
        <input type="radio" name="radio" id="myRadio1" />radio 1
        <br />
        <input type="radio" name="radio" id="myRadio2" />radio 2
    </form>
    <script language="JScript">DefaultConfig();</script>
    Merci d'avance pour votre aide...

  2. #2
    Membre �clair� Avatar de reeda
    Formateur en informatique
    Inscrit en
    Ao�t 2006
    Messages
    367
    D�tails du profil
    Informations personnelles :
    �ge : 39

    Informations professionnelles :
    Activit� : Formateur en informatique

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 367
    Par d�faut
    Bonjour,

    Est ce que tu pourrais nous expliquer ce que tu veux faire exactement, quel est le comportement tu attends de ton script ?

    Bien cordialement

  3. #3
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    Salut,
    function DefaultConfig()
    {
    if(1)
    {
    document.getElementById("myRadio1").checked = true;
    document.getElementById("myRadio2").checked = false;
    WshShell.Popup("check radio 1");
    }
    else
    {
    document.getElementById("myRadio1").checked = false
    document.getElementById("myRadio2").checked = true;
    WshShell.Popup("check radio 2");
    }
    avec if(1), le bloc else ne sera jamais execut�!

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par d�faut
    Bonjour, et merci de vous �tre pench�s sur le probl�me !

    avec if(1), le bloc else ne sera jamais execut�!
    Ca je sais, comme dit dans mon message d'origine, le if(1) remplace une fonction qui appelle un serveur COM pour retrouver une propri�t�. J'aurais pu enlever le "if" mais c'�tait pour marquer que le choix du bouton par d�faut n'est pas constant mais d�pend de param�tres ext�rieurs.

    quel est le comportement tu attends de ton script ?
    C'est plut�t simple, je veux qu'� l'ouverture et au rechargement de la page, le bouton 1 soit s�lectionn�. (Je pr�cise encore: en vrai, ce ne sera pas le bouton 1, mais un des boutons, selon la valeur d'une propri�t� d'un objet COM, qui est susceptible de changer � tout moment).

    Or, dans le cas pr�sent, si je s�lectionne � la main le bouton 2 et que je recharge la page, je me retrouve avec les 2 boutons s�lectionn�s (ou seulement le bouton 2 si j'ai effac� les cache/formulaires/cookies).

    Ma fonction est bien appel�e, je passe par l'�tat voulu (lors de la popup "check radio 1") puis ensuite tout part de travers...

    Ai-je moyen d'emp�cher �a ?

  5. #5
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    C'est plut�t simple, je veux qu'� l'ouverture et au rechargement de la page, le bouton 1 soit s�lectionn�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <body onload="
    document.getElementById('myRadio1').checked = true;">

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 3
    Par d�faut
    Je crois qu'on s'est mal compris, mais en changeant le code ainsi:

    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
    <script language="Javascript">
     
       //Message popup activeX object
       var WshShell = new ActiveXObject("WScript.Shell");
     
     
       function DefaultConfig()
          {
          if(1)
             {
             document.getElementById("myRadio1").checked = true;
             document.getElementById("myRadio2").checked = false;
             WshShell.Popup("check radio 1");
             }
          else
             {
             document.getElementById("myRadio1").checked = false
             document.getElementById("myRadio2").checked = true;
             WshShell.Popup("check radio 2");
             }
         }
    </script>
     
    <body onload="DefaultConfig()">
    <form name="myForm">
        <input type="radio" name="radio" id="myRadio1" />radio 1
        <br />
        <input type="radio" name="radio" id="myRadio2" />radio 2
    </form>
    </body>
    C'est-�-dire en appelant ma fonction sur le "onload", comme sugg�r� par andry.aime, au lieu de l'appeler � la fin, je ne me retouve plus avec 2 boutons s�lectionn�s sans raison.

    Merci de votre aide !

    Edit:
    En fait j'appelais ma fonction en bas de ma page HTML, parce que je pensais que les r�f�rences aux boutons n'existeraient pas dans le "onload" puisque pas encore d�clar�es.

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

Discussions similaires

  1. R�ponses: 4
    Dernier message: 03/05/2006, 18h23
  2. [Conception] HTML et Bases de donn�es
    Par Jukien dans le forum PHP & Base de donn�es
    R�ponses: 6
    Dernier message: 08/04/2006, 14h52
  3. Persistance des donn�es en m�moire
    Par giviz dans le forum Architecture
    R�ponses: 13
    Dernier message: 21/12/2004, 09h44
  4. [POO] Formulaire HTML + fonction JS = Erreur
    Par bdaboah dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 23/11/2004, 21h59
  5. [Strategie]persistance des donn�es
    Par altropus dans le forum Persistance des donn�es
    R�ponses: 6
    Dernier message: 04/11/2004, 04h36

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