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ètre avec du JavaScript


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Responsable R&D
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable R&D

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Passage de paramètre avec du JavaScript
    Bonjour,

    Alors voila j'ai une page dans laquelle j'ai intégré un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:select property='selectedProperty' onChange="recharge(this.value)">
    A la sélection d'une option du select je lance le code JavaScript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script language="javascript">
    function recharge(b) {
    	var action = '<html:rewrite page="/ModifyMass.do?selectedProperty=b"/>';
    	document.forms[0].action = action;
    	document.forms[0].submit();
    }
    </script>
    Et je récupère cela dans mon action avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cartForm.setSelectedProperty(request.getParameter("selectedProperty"));
    Mais quand j'éxecute l'url qui s'affiche est :
    Quelqu'un a une idée?

    Merci

  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
    Il n'est pas utile de coder un html:rewrite et de plus, tu ne fais rien pour récupérer la valeur sélectée.

    Alors essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var action="ModifyMass.do?selectedProperty="+document.forms[0].selectedProperty.value ;
    Sinon, l'Action de path /ModifyMass est-elle différente de celle que tu as codé dans le html:form ?

    parce que si c'est la même, tu peux tout simplement soumettre le formulaire sur l'évènement onchange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html:form action="ModifyMass">
     
       <html:select property='selectedProperty' onChange="document.forms[0].submit();">
       ...
       </html:select>
     
    </html:form>
    et la propriété selectedProperty de l'ActionForm contiendra la valeur sélectée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String selectedProperty = cartForm.getSelectedProperty();

  3. #3
    Membre averti
    Profil pro
    Responsable R&D
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable R&D

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Correctif
    Il se trouve que ce n'est pas le même form que celui du html:form employé sur cette page.

    au fait sur le onchangej'appelle ma fonction javascritp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onChange="recharge(this.value)"
    Du coup je suis censé récupérer la valeur dedans et je la réaffecte dans le code javascript.

    Mais quand je lance le submit je me retrouve avec un form null...

  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
    Comment ça tu te retrouves avec un form null ?

    Avec ce code-là dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select property="selectedProperty" onchange="recharge(this.value);">
    et la fonction javascript suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function recharge(b) {
    	var action = "ModifyMass.do?selectedProperty="+b;
    	document.forms[0].action = action;
    	document.forms[0].submit();
    }
    dans l'Action de path /ModifyMass, tu dois pouvoir récupérer la valeur sélectée via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String selectedProperty=request.getParameter("selectedProperty");
    Est-ce bien le cas ?

    En fait, ça doit effectivement poser problème car tu demandes l'exécution d'une Action qui n'est pas liée au formulaire que tu soumets.

  5. #5
    Membre averti
    Profil pro
    Responsable R&D
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable R&D

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Je reformule problème
    Méa coupla GT pas assez clair depuis le début.

    J'ai une page JSP avec comme form ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/removeFromCart.do" method="post">
    Maintenant dans ma page j'ai besoin de rajouter un nouveau traitement. Ce traitment va se faire via un html:option en premier lieu et un bouton ok après.

    Mon html select se présente comme tel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html:select property='selectedProperty' onChange="recharge this.value)">
    									<html:option value=""> --------- </html:option>
    									<html:option value="Nomenclature"> Nomenclature </html:option>
    									<html:option value="OPC"> OPC </html:option>
    						    	</html:select>
    Une fois que l'utilisateur sélectionne un élément de cette liste je lance le javascript qui suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language="javascript">
    function recharge(b) {
    	window.location.href='ModifyMass.do?Property='+b;
    	window.location.reload();
    }
    </script>
    Ceci me permet de lancer l'action ModifyMass tout en gradant le paramètre de la liste selectionné afind e pouvoir lancer des traitements derrière.

    Mais voila je ne sais pas pourkoi il ne veut rien entendre quand à changer l'url de la page et ne garde même pas la valeur du propertySelected.

    Voilà Merci encore pour toutes l'aide que vous pourrez me fournir...

Discussions similaires

  1. [wsadmin] Passage de paramètre avec jacl ?
    Par Bourbaky dans le forum Websphere
    Réponses: 4
    Dernier message: 30/11/2007, 14h24
  2. Passage de paramètres avec Redirect
    Par abir84 dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 24/09/2007, 10h51
  3. Réponses: 3
    Dernier message: 10/08/2007, 16h07
  4. Passage de paramètres avec DLL Delphi
    Par GroovyBaby dans le forum C#
    Réponses: 2
    Dernier message: 08/03/2007, 14h51
  5. Passage de paramètre avec POST
    Par boulette85 dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 20h59

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