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 :

Intégration de code JavaScript dans un Portlet


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Intégration de code JavaScript dans un Portlet
    Bonjour à tous,

    J'ai un petit souci que je n'arrive pas à résoudre en JavaScript. Pour faire simple, j'ai un formulaire dans lequel se trouve une balise <select> dans sur laquelle je souhaite que l'option qui est "selected" varie en fonction du type d'opération paramétré avant le chargement de la page.

    Voici mon code simplifié :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    [...]
     
    <form name="Recherche" id="Recherche" method="post" action="resultats_recherche.asp?strid=<%=Session("CreateNumPisteAudit")%>">
     
      [...]
     
      <table class="v1-formbloc">
    		<tr>
     
          [...]
     
          <td class="v1-inputs">
    				<span>
    					<select name="SensOperation" id="SensOperation" >
    						<option value="2">Cr&eacute;dit</option>
    						<option value="1">D&eacute;bit</option>
    						<option value="0">Tout</option>
    					</select>
    				</span>
    			</td>
     
    		</tr>
     
        [...]
     
    	</table>
     
    	[...]
     
    </form>
     
    <script type="text/javascript">
     
      var typop = "<%=session("RECHOP_TYPOP")%>";
    	var FrmRech = document.forms.Recherche;
     
      for(i=0;i<FrmRech.SensOperation.options.length;i++) {
    		if(typop == FrmRech.SensOperation.options[i].value) {
    			FrmRech.SensOperation.options[i].selected = true;
    		}
    	}
     
      [...]
     
    </script>
     
    [...]
    Mon problème est le suivant : Si on exécute la page telle quelle, tout fonctionne correctement, mais lorsque celle-ci est intégrée à un portail (Portlet, tout ça... me demandez pas, j'y connais rien), rien ne va plus. J'ai une erreur au chargement de la page comme quoi le FrmRech.SensOperation.options de mon script est à null. J'ai fait un petit test de plus, et en fait c'est FrmRech.SensOperation qui est à null.

    Comprends pas trop. Est-ce que quelqu'un a une idée SVP?

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    difficile de se faire une idée sans connaitre l'environnement final (celui où se produit l'erreur) ...

    Comment est intégrée ta partie à ce portail ?
    Ta page est "intégrée" dans une frame ?
    Dans un <form> existant du portail ?
    (dans ce cas ton form a toi n'est pas valide : un form ne peut en contenir un autre)
    Ta page est chargée via Ajax dans le portail ?
    Les identifiants (name et id) ne risquent pas d'être déjà utilisés ?
    Et le nom de tes fonctions s'il y en a ?

    Bref .... difficile de deviner

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bien vu!!!

    Très bien vu!!!

    Après vérification, le portail possède également un <form id="Recherche">. Du coup, mon JavaScript allait taper dans celui-là qui par contre ne possède pas de <select id="SensOperation">.

    D'où le pointeur sur null.

    Ca fonctionne. Merci pour la piste

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Pour éviter ce genre de problème à l'avenir, donne des id bien spécifiques à tes éléments (c'est déjà le cas) et accèdes-y directement via l'id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('SensOperation')....


    Et effectivement plus de 50% des pages présentes sur le oueb doivent posséder un form "Recherche"

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    OK ça roule. Merci pour le tuyau

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

Discussions similaires

  1. intégration de code javascript dans une page asp.net
    Par Je-cherche-pfe dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/09/2007, 17h10
  2. inclure du code javascript dans un rapport
    Par zope49 dans le forum BIRT
    Réponses: 1
    Dernier message: 03/01/2007, 14h50
  3. [PHP-JS] Intégration code Javascript dans PHP
    Par tilou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/04/2006, 15h26
  4. Réponses: 11
    Dernier message: 30/01/2006, 16h26
  5. code javascript dans onchange d'un <select>
    Par grochenel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/11/2005, 20h25

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