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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par d�faut
    oui ceci marche bien mais la premi�re solution ne marche toujours pas

  6. #6
    Expert confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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 confirm�

    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
    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 averti
    Inscrit en
    Juillet 2009
    Messages
    51
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    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: 01/05/2015, 23h25
  2. R�ponses: 6
    Dernier message: 04/04/2011, 21h22
  3. R�ponses: 1
    Dernier message: 05/10/2009, 03h50
  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, 16h55
  5. R�ponses: 9
    Dernier message: 13/05/2005, 03h13

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