Bonjour,
Je suis aujourd'hui face à un problème assez bloquant pour moi puisque mon application dois tourner sur IE6/7 et FF.
Voici mon problème : J'ai en faite un formulaire contenant deux boutons, l'un vidant les champs du formulaire (raz) et l'autre sauvegardant les données du formulaire (créer).
Seulement, sous IE, seul une action est prise en compte. Ce qui est drôle, c'est que peu importe le bouton sur lequel je clic, ce sera toujours la même action (et donc méthode de ma classe Action) qui sera appelée.
Quand les deux boutons sont présents et que je clic => méthode Raz
Si j'enlève le bouton "raz", ma méthode créer est bien appelé, ce qui me laisse penser qu'IE ne gère qu'une seule action dans un formulaire.
L'application est en thème "css_xhtml"
Voici le code, si cela peux vous eclairer :
Ecran utilisateur.jsp
Classe utilisateurAction.java
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 <s:div cssClass="blocCaracteristique" id="ajoutDeComposant"> <s:div cssClass="nom"><s:text name="stitle_utilisateur_create"/></s:div> <s:actionerror cssClass="actionError" /> <s:form action="user" method="POST" id="form" > <span class="form_label"><s:text name="lbl_utilisateur_login"/></span> <s:textfield name="login" cssClass="taille200" /> <span class="form_label"><s:text name="lbl_utilisateur_password"/></span> <s:textfield name="password" cssClass="taille200" /> <span class="form_label"><s:text name="lbl_utilisateur_mail"/></span> <s:textfield name="mail" cssClass="taille200" /> <s:actionmessage cssClass="actionMessage"/> <s:div cssClass="right"> <span class="action"><s:submit type="button" method="save"><s:param name="value"><s:text name="btn_create"/></s:param></s:submit></span> </s:div> <s:div cssClass="right"> <span class="action"><s:submit type="button" method="raz" ><s:param name="value"><s:text name="btn_raz"/></s:param></s:submit></span> </s:div> </s:form> </s:div> <br/>
actions.xml
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
51 public class UtilisateurAction extends ActionSupport { private UtilisateurService service; private boolean erreur = false; private String login; private String password; private String mail; ... public String save(){ try { if(login.equals("")){ erreur = true; addActionError("Saisie du login obligatoire "); } if(password.equals("")){ erreur = true; addActionError("Saisie du mot de passe obligatoire "); }else if(password.length() < 6){ erreur = true; addActionError("Le mot de passe doit contenir 6 caractères minimum "); } if(!erreur){ service.createUser(login, password,"1"); addActionMessage("Utilisateur créé avec succès !"); return SUCCESS; } } catch (Exception e) { e.printStackTrace(); } return SUCCESS; } public String raz(){ System.out.print("RAZ"); setLogin(""); setPassword(""); setMail(""); return SUCCESS; } ...
Merci d'avance pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... <action name="user" class="userAction" > <result name="success">/pages/Accueil.jsp</result> </action> ...
Partager