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 2 Java Discussion :

Submit mixte : champs classiques & Ajax


Sujet :

Struts 2 Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Submit mixte : champs classiques & Ajax
    Bonjour, je débute en Struts 2 et j'ai quelques soucis :
    J'ai une JSP comportant un formulaire, et une certaine partie de ce formulaire varie en fonction de la valeur choisie par l'utilisateur dans une liste <s:select (..)/>.

    J'arrive à gérer le changement de formulaire via Ajax lorsque mon utilisateur modifie la valeur du select, mais mon problème , est que quand je soumets le formulaire je ne peux pas récupérer les champs remplis dans le "formulaire ajax".

    Mon code:

    JSP principale:

    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
    49
    50
     
    <s:form id="test" name="test" action="offer-validation" method="post">  
    <!-- LES CHAMPS DU FORMULAIRE DE MA JSP-->
    <fieldset style="align:left;">	
     
     
    <s:textfield
    		key="function"
    		id="function"
    />
    <br/>
    <div>
    <s:textfield
    		key="service"
    		id="service"
    />
    </div>
    <br/>
    <s:select 
    	headerValue="Sélectionné"
    	key="customBeanSelect" 
    	name="customBeanSelect"
    	id="customBeanSelect"
    	list="offersList"
    	required="true"
    	label="Offre" 
    	labelposition="left"
    	onchange="launchCustomBean(this.value);"
    />
     
    <s:hidden name="customBeanSelectHidden"/>
     
    <script language="JavaScript" >
    	function launchCustomBean(valueSelect){
    		document.test.customBeanSelectHidden.value = valueSelect;
    		dojo.event.topic.publish("/loadCustomBean?tamere=1"); 
        }
     
    </script>
    <s:url id="ajaxCallUrl" action="offer-call-custom-bean">
    </s:url>
     
    <!-- LA DIV QUI CONTIENT LE "FORMULAIRE AJAX"-->
    <s:div formId="testid" id="customDiv" href="%{ajaxCallUrl}" theme="ajax" listenTopics="/loadCustomBean" formId="test"></s:div>
     
     
    <!-- LE SUBMIT SUPPOSE ENVOYER LES CHAMPS DE MA JSP + CEUX DU  "FORMULAIRE AJAX"-->
    <s:submit/><br/>
     
    </fieldset>
    ... champs du "formulaire ajax"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    (...)
     
    <s:textfield theme ="ajax" name="ajax1" label="ajax1" />
    <s:textfield theme ="ajax" name="ajax2" label="ajax2" />
    Merci d'avance à ceux qui pourront m'aider

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 128
    Points
    128
    Par défaut
    Slt,
    As-tu vérifié que "ajax1" et "ajax2" sont bien défini dans ta classe action avec les accesseurs (getters/setters) correspondant ?

    <s:textfield theme ="ajax" name="ajax1" label="ajax1" />
    <s:textfield theme ="ajax" name="ajax2" label="ajax2" />
    ++

    ---

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup de ta réponse mais ce n'était pas ça.
    EN réalité, comme 90% des bugs, le problème était entre le dossier de ma chaise et le clavier ....

    Une grossière erreur dans mon struts.xml, erreur de mapping au niveau de la méthode.

    Pour éviter ces erreurs d'étourderie, je recommande l'utilisation d'une feuille et d'un crayon, et de dessiner le diagramme de séquence de la cinématique que l'on est en train de coder, pour pouvoir vérifier pas à pas si on ne fait pas d'énormes bêtises (surtout quand on met plus de 1min30 à publier sur son serveur comme moi, ce qui dégoûte du mode debug!)

    Ensuite utiliser Firebug est vraiment pas mal, je ne connaissais que de nom, mais l'onglet "réseau" permet de vérifier ce qui passe dans le POST et donc de vérifier que la JSP tente bien de passer nos paramètres (avec leurs valeurs à l'instant T ) à l'action.

    Voilà voilà Bonne soirée

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

Discussions similaires

  1. vérification champ vide en ajax
    Par knebhi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/05/2009, 15h12
  2. [AJAX] Vérification de champ numerique avec ajax
    Par anouarsurvive dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/10/2008, 16h42
  3. [AJAX] Remplir un champ Input en Ajax
    Par guigui69 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/06/2008, 12h46
  4. [Rico] Vérifier la valeur d'un champ texte (RicoCalendar + AJAX)
    Par Arno81 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 24/04/2008, 11h09
  5. [VB.net] Bug submit sur champ de saisie
    Par addicts dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/07/2006, 10h57

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