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

Struts 1 Java Discussion :

passage de paramètres java à une fonction javascript


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut passage de paramètres java à une fonction javascript
    Bonsoir,

    Je viens solliciter votre aide pour un problème que je n'arrive pas à résoudre, le voici.
    Dans une zone de texte je fais appel à une fonction javascript qui me permettra de mettre à jour un champ de ma base de données. Seulement cette fonction doit prendre en paramètre des valeurs que je ne sais écrire qu'en java et cela ne fonctionne pas. Je joins mon code pour plus de clarté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <% int idRA= ((RapportActivite)pageContext.getAttribute("rapportActivite")).getId();
    int idAT= ((Recap)pageContext.getAttribute("recap")).getIdAT();%>
    <html:text styleId="<%="idRA"+idRA+"idAct"+idAT%>" property="nbJourAdminR" name="recap" size="5px" 
    onchange="misajour(<%=idRA%>,<%=idAT%>,idRA<%=idRA%>idAct<%=idAT%>);"/>
    J'ai également essayé avec des bean write mais sans succés.
    Je ne sais plus quoi tenter tellement j'ai essayé de chose!!
    Merci de votre aide.

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="<%="misajour("+idRA+","+idAT+",idRA"+idRA+"idAct"+idAT");"%>"
    ou avec des EL, si tu es en J2EE 1.4 (Servlet 2.4/JSP 2.0) ou plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="misajour('${idRA}','${idAT}',idRA'${idRA}'idAct'${idAT}');"

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    La première solution m'affiche une page blanche.
    La deuxième quand à elle me laisse ce que j'ai écris intact sans remplacer les éléments par leurs valeurs.
    Auriez vous une autre idée??

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Si les EL ne sont pas interprétées, c'est que tu es en J2EE 1.3.

    Sinon, la première solution devrait fonctionner.

    Remplace misajour par alert et passe un seul paramètre pour voir si la valeur de idRA s'affiche bien dans une popup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="<%="alert("+idRA+");"%>"

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    oui ceci marche bien mais la première solution ne marche toujours pas

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Le problème doit donc venir de la fonction javascript misajour.
    Peux-tu poster le code de cette fonction ?

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    Voici le code de ma fonction javascript.

    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
     
    function misajour(idRA,idAct,cas) {
    	alert("passefctjs");		
    	valeur= document.getElementById(cas).value;
    	AJAX_misajourRecap(valeur,idRA,idAct);
    }
     
    function AJAX_misajourRecap(valeur,idRA,idAct){
    	alert("passefctajax");
    	var xhr_object = null;
    	if(window.XMLHttpRequest){
    		xhr_object = new XMLHttpRequest();
    	} else {
    		alert("Votre navigateur ne supporte pas les objets XMLHttpRequest...");
    		return;
    	}
    	xhr_object.open("GET", "editModifNbJourRecap.do?valeur="+valeur+"&idRA="+idRA+"&idAct="+idAct, true); 
    	xhr_object.send(null); 
    }

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Alors, en Ajax, je ne vais pas pouvoir t'aider.

    Par contre, si tu mets seulement des alert dans la fonction javascript, cela affiche-t'il les bonnes valeurs ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function misajour(idRA,idAct,cas) {
    	alert(idRA);		
    	alert(idAct);		
    	alert(cas);		
    }

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    ce n'est pas grave pour l'ajax j'ai déjà utilisé cette fonction dans mon projet elle marche.
    Par contre ce que vous me demandez de tester je ne peut pas le faire puisque ma fonction ce déclenche lorsque je saisie quelque chose dans le champ texte et qu'avec votre première solution ma page est blanche elle ne s'affiche pas. Cependant si je met des valeurs fixe ce que vous me demandez marche très bien sauf pour cas ou il s'affiche dans l'alerte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [ObjectHTMLInputElement]

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    J'avais compris que c'était lorsque tu saisissais une valeur dans le champ de type text que cela affichait une page blanche.

    Es-tu sûr d'avoir saisi le onchange tel que je te l'ai donné ?
    parce que j'insiste, ça devrait fonctionner.

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    oui j'en suis certaines j'ai bien vérifié. De plus, j'ai fait un copier coller de ce que vous m'avez suggéré donc je suis sure que j'ai bien écris ce que vous m'avez dit.
    Mais même dans la jsp cela me souligne en rouge:

  12. #12
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Ah, désolée.

    Je viens de me rendre compte que j'ai oublié un "+" à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="<%="misajour("+idRA+","+idAT+",idRA"+idRA+"idAct"+idAT+");"%>"

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    aucun problème vous m'aidez il serait mal venu de râler j'aurai pu m'en apercevoir!
    Cette commande marche trés bien merci mais mon problème avec cas persiste!
    Cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById(cas).value
    me pointe une erreur sur firebug me disant que :
    "document.getElementById(cas).value has no properties"

    et dans mon alerte j'ai toujours le même affichage.

  14. #14
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Après réflexion, comme le dernier paramètre que tu passes à la fonction Javascript est l'id de l'élément html text, il est de type caractère, alors il faut l'entourer de simples quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="<%="misajour("+idRA+","+idAT+",'idRA"+idRA+"idAct"+idAT+"');"%>"

  15. #15
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Points : 19
    Points
    19
    Par défaut
    Cela fonctionne parfaitement merci beaucoup!

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

Discussions similaires

  1. Passage de paramêtres dans une fonction en javascript
    Par FRof dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/05/2015, 00h25
  2. Réponses: 6
    Dernier message: 04/04/2011, 22h22
  3. Réponses: 1
    Dernier message: 05/10/2009, 04h50
  4. [POO] objet Java en paramètre d'une fonction Javascript
    Par bastouffe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/09/2008, 17h55
  5. Réponses: 9
    Dernier message: 13/05/2005, 04h13

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