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 :

[Débutant] - Struts Validation formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut [Débutant] - Struts Validation formulaire
    Bonjour à tous

    Je commence à utiliser Struts. Quand je soumet mon formaulaire apr le bouton submit tout fonctionne bien.
    Je voudrais soumettre ce même formulaire avec un javascript.
    j'ai donc utilisé la balise struts suivante :

    <html:link href="javascript:testForm();">soumission du formulaire par javascript</html:link>

    Quand j'affiche ma page tout est ok, si j'affiche la source, j'ai cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	<form name="testServletAction2" method="POST" action="/strutesproject/testServletAction.do">
    		Logon : <input type="text" name="username" value="root"> <BR/>
    		Password : <input type="password" name="password" value="azerty"> <BR/>
    		<input type="submit" name="submit" value="Submit">
    		<a href="javascript:testForm();">soumission du formulaire par javascript</a>
    	</form>
    mais quand je veux valider par le lien, il appelle bien la fonction javascript, l'alert (OK) s'affiche mais j'obtiens une erreur javascript.

    j'ai essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    document.form.submit();
    document.Forms[0].submit();
    document.form.testServletAction.submit();
    document.testServletAction.submit();
    rien ne fonctionne. cela fonctionne très bien sans struts (avec servlet et jsp classique). est-ce dû au framework struts ?

    voiçi ma page jsp :
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title>Application exemple</title>
    		<script language="Javascript">
    		function testForm(){
    			alert('ok');
    			document.form.submit();
    		}
    		</script>
    	</head>
    	<body>
    	<html:form action="/testServletAction" method="POST" focus="username">
    		Logon : <html:text property="username" /> <BR/>
    		Password : <html:password property="password" /> <BR/>
    		<html:submit property="submit" />
    		<html:link href="javascript:testForm();">soumission du formulaire par javascript</html:link>
    	</html:form>
    	</body>
    </html>
    Merci d'avance à tous !

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Citation Envoyé par chennuo
    j'ai essaye :

    document.form.submit();
    document.Forms[0].submit();
    document.form.testServletAction.submit();
    document.testServletAction.submit();
    Tu y etais presque

    En fait il faut utiliser le nom du formulaire et non pas son action.
    document.monForm.submit();

    monForm est l'attribut name que tu as déclarer dans ton struts-config.xml.
    Etre c'est etre relatif.

  3. #3
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    Merci !

    J'ai donc mis ceci :

    document.testServletAction2.submit();

    car dans mon fichier struts-config.xml, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		<action
    		path="/testServletAction"
    		name="testServletAction2"
    		type="com.bnpparibas.test.LoginAction"
    		scope="request"
    		validate="true"
    		input="/main.jsp"
    		/>
    mais j'ai toujours une erreur javascript :

    Cet objet ne gère pas cette propriété ou cette méthode.

    Si quelqu'un à une idée ...;

    Merci !

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    tu as bien declare ton form dans les bean form du struts config ? ce form doit correspondre a une classe Form qui etend ActionForm.

    Tu devrais plutot appeler tes formulaires Form ex : testServletForm

    Reporte toi a la FAQ :

    http://java.developpez.com/faq/strut...onfig_formbean
    Etre c'est etre relatif.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    oui. j'ai bien ajouté mon form dans la sectgion bean-form. il est en relation avec une classe qui étend ActionForm.

    d'ailleurs, si je clique directement sur le bouton submit (<input type="submit">), il n'y a aucun pb.

    je vais continuer à chercher.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    Bon j'ai trouvé. l'erreur javascript était dû au fait qu'il y avait la balise <html:input /> qui devient <input type="submit">.
    Apparement, on ne peut pas avoir les 2 dans un même formulaire. Quand on fait un document.monform.submit(); en javascript, il ne faut pas la balise <input type="submit"> dans le formulaire sinon : erreur javascript.

    merci pour votre aide !

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

Discussions similaires

  1. [Struts] Validation formulaire
    Par nighma dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/10/2006, 21h14
  2. [Struts] validation formulaire
    Par bruno270579 dans le forum Struts 1
    Réponses: 8
    Dernier message: 05/04/2006, 14h19
  3. Réponses: 4
    Dernier message: 19/01/2006, 16h24
  4. Réponses: 3
    Dernier message: 15/03/2005, 12h22
  5. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 09h12

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