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

Servlets/JSP Java Discussion :

Paramètre du mauvais type


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Par défaut Paramètre du mauvais type
    J'ai une page JSP dans laquelle il y a un select (liste déroulante). Lorsqu'une catégorie est sélectionnée, les boutons modifier et supprimer s'activent et un javascript est appelé.

    Ce javascript vient ajouter un select ainsi que les trois boutons habituels (A/M/S) en créant les balises dans une variable string qui est placée comme contenu de la div ainsi : laDivEnQuestion.innerHtml = contenu;

    Tout va bien, le tout s'affiche et réagit correctement jusqu'au moment ou je clique sur M ou S. Voici mon M(odifier).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    contenu += "<input type=\"button\" value=\"Modifier\"
                id=\"modifierBP\" class=\"espacer\" disabled=\"disabled\"" +
                "style=\"background-color: #FFFFFF;\"" +
                "onclick=\"window.location=\'" + root + "/Affichage?
    para=gererBonnePratique&numero=getElementById(listeBonnesP).value"
                                + "&cible=Modifier&idUsager=" + numeroUsager
                                + "\'\"/>";
    J'ai mis le problème en gras. Il se trouve que lorsque mon servlet est appelé, je tente de mettre numero dans une variable int et cela me dit que getElementById(listeBonnesP).value n'est pas un int. Je comprend que la fonction n'est pas évaluée et j'ai tenté plusieurs autre méthodes (comme d'isoler l'appel de la fonction : numero=" + getElem.... + ...) mais, dans aucun cas elle ne l'est et la majorité du temps, rien ne s'affiche (je parle ici des balises) si ma correction est invalide. Je vous offre ce code puisqu'il est le résultat le plus près de la réussite que j'ai.

    Contrairement à mon prédécesseur je préfèrerais utiliser le DOM pour ajouter mes balises mais je n'y arrive pas très bien encore. Je continu de plancher la-dessus en attendant une réponse.

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2009
    Messages : 35
    Par défaut
    Il ne manque pas un document devant le getElementById ?
    Et je pense qu'il y a des problèmes de cotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    contenu += "<input type=\"button\" value=\"Modifier\"
                id=\"modifierBP\" class=\"espacer\" disabled=\"disabled\"" +
                "style=\"background-color: #FFFFFF;\"" +
                "onclick=\"window.location='" + root + "/Affichage?
    para=gererBonnePratique&numero='+document.getElementById(listeBonnesP).value+'"
                                + "&cible=Modifier&idUsager=" + numeroUsager
                                + "'\"/>";

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Par défaut
    Oui il manquait document.
    Non ce n'est toujours pas évalué.

    edit
    -------------------
    '+document.getElementById(listeBonnesP).value+'"
    Je n'avais pas tout a fait regardé ta réponse et j'ai essayé comme tu l'as écris.
    Le bouton n'a pas d'action avec ce code.
    -------------------

    java.lang.NumberFormatException: For input string: "document.getElementById(listeBonnesP).value"

    J'ai bientôt fini ma solution avec le DOM. Je prévois la poster dans 20 minutes environ si je ne tombe pas sur un bug.

  4. #4
    Membre actif
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2009
    Messages : 35
    Par défaut
    Je pense qu'il faudrait faire un premier test pour voir quel valeur vaut ton "document.getElementById(listeBonnesP).value" avec ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    contenu += "<input type=\"button\" value=\"Modifier\"
                id=\"modifierBP\" class=\"espacer\" disabled=\"disabled\"" +
                "style=\"background-color: #FFFFFF;\"" +
                "onclick=\"alert('test :' +document.getElementById(listeBonnesP).value);\"/>";

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2010
    Messages : 36
    Par défaut
    Avec DOM les boutons ajouter et modifier.
    Tout est parfait mais onclick ne fait rien avec ce code. J'ai essayer en remplaçant le onclick par un alert("toto"). Le alert est appelé lorsque les éléments s'affichent sur la page JSP et pas quand je clique sur le 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
    // Les boutons de gestion (Ajouter/Modifier/Supprimer)
                    var objAjouter = document.createElement("input");
                    objAjouter.setAttribute("id", "ajouterBP");
                    objAjouter.setAttribute("type", "button");
                    objAjouter.setAttribute("value", "Ajouter");
                    objAjouter.setAttribute("class", "espacer");
                    objAjouter.setAttribute("onclick",
                            "window.location=\'" + root
                          + "/Affichage?para=gererBonnePratique&numero=0"
                          + "&cible=Ajouter&idUsager=" + numeroUsager
                          + "&categorie=" + p_numero);
     
                      var objModifier = document.createElement("input");
                    objModifier.setAttribute("id", "modifierBP");
                    objModifier.setAttribute("type", "button");
                    objModifier.setAttribute("value", "Modifier");
                    objModifier.setAttribute("class", "espacer");
                    objModifier.setAttribute("disabled", "disabled");
                    objModifier.setAttribute("onclick",
                            "window.location=\'" + root
                          + "/Affichage?para=gererBonnePratique&numero=" + document.getElementById('listeBonnesPratiques').value
                          + "&cible=Ajouter&idUsager=" + numeroUsager
                          + "&categorie=" + p_numero);

  6. #6
    Membre expérimenté
    Homme Profil pro
    Analyst
    Inscrit en
    Juillet 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 150
    Par défaut
    Pour la solution avec le DOM:
    J'avais eu problème équivalent avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    	divACreer.setAttribute('id', nomId);
    	divACreer.setAttribute('style','position: absolute');//KO sous IE8=> a refaire
    	...//autre attribut + __.appendChild(divACreer)
    	document.getElementById(nomId).style.position="absolute";//Pour IE
    => Peut être est-ce la même chose. Utilises-tu : IE ? Firefox ?,...


    Pour la solution Non DOM:
    Dans la solution de gobygoda, il manque les quotes pour listeBonnesP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('listeBonnesP').value
    [Sauf si listeBonnesP est une variable dans la page]
    D'ailleurs, en DOM, tu l'appelles: 'listeBonnesPratiques'

    De plus, pour l'appel, je passerai plus par une fonction (avec en paramètre le code action)

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

Discussions similaires

  1. Désérialisation dans le mauvais type?
    Par neuro6 dans le forum C#
    Réponses: 7
    Dernier message: 20/11/2008, 08h24
  2. Paramétrer le Content-Type d'un mail en VBA Access2003
    Par olaf_le_preux dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/04/2008, 11h07
  3. expression du mauvais type
    Par Ptite_Tigresse dans le forum SQL
    Réponses: 3
    Dernier message: 03/09/2007, 10h13
  4. expression du mauvais type DomNode
    Par robris dans le forum Oracle
    Réponses: 6
    Dernier message: 16/08/2006, 16h13
  5. Champs de mauvais type
    Par sebos63 dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/06/2004, 16h07

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