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

Symfony PHP Discussion :

2 actions pour un formulaire


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut 2 actions pour un formulaire
    Bonjour je voudrais savoir s'il est possible d'associer plusieurs actions à un formulaire?

    En faite j'ai actuellement cela pour ma vue :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    <form action={{ path('validateGTDossier') }} method="post" >
     
    	<table>
    	<tr>
    	{% for proc in procedures %}
    		<input type="hidden" value="{{ checkthatsID }}" name="checkthatsID"/>
     
    		<table class="tests">
    		<tr>
    		<th colspan=2><h2>PROCEDURE</h2>
    		<h3>Procedure name : {{proc.name}}</h3>
    		</th>
    		</tr>
    		<tr>
    		{% for tb in proc.testBlocks %}
    		<td valign="top" width="30%">
     
    		<table class="action" border="0" width="100%">
    		<tr>
    		<td>
    		<h3>ACTIONS</h3><br/>
    		</td>
    		</tr>
    		<tr>
    		<td align="left" width="100%">
     
    			<table border="0">
    			<ul>
    				{% for act in tb.actions %}
     
    					<tr>
    						<td align="left"><li> {{ act.action }}</li><br/></td>
    					</tr>
     
    				{% endfor %}
    			</ul>
    			</table>
    		</td>
    		</tr>
    		</table>
    		</td>
     
    		<td width="50%" valign="top">
    		<h3>CHECKTHATS</h3><br/>
    			<ul>
    			{% for ct in tb.checkThats %}
     
    			<table align="center" border="0" width="100%">
     
    				<tr>
    				<td width="80%" align="left"><li>{{ ct.expectedResult }}<br/>
    				<input type="hidden" value="{{ct.id}}" name="ctid_{{ct.id}}"/></li>
    				</td>
    				<td rowspan="2" align="right">
    					<table border="0">
    					<tr>
    					<td align="center">
    					Comments <br/>
    					</td>
    					</tr>
    					<tr>
    					<td>
    					<textarea  name="obtainedResult_{{ct.id}}"></textarea><br/>
    					</td>
    					</tr>
    					</table>
    				</td>
    				</tr>
    				<tr>
    				<td>
     
    				<table align="left" width="40%" border="1">
    				<tr>
    				<td>OK <input  type=radio  name="status_{{ct.id}}"  style="width:1.5em;height:1.5em;"  value="3"></td>
    				<td>NOK <input  type=radio name="status_{{ct.id}}" style="width:1.5em;height:1.5em;" value="4"></td>
    				<td>NE <input  type=radio name="status_{{ct.id}}" style="width:1.5em;height:1.5em;" value="5"></td>
    				</tr>
    				</table>
    			</td>
     
    			</tr>
    			</table>
    			<br/><br/>
    			{% endfor %}
     
    			</ul>
    			</td>
    			</tr>
    		{% endfor %}
    		</table>
    		<br/><br/><br/>
     
    	{% endfor %}
    	</tr>
    	</table>
     
    <input type="submit" class="confirm" value="Validate Test dossier"/>
    </form>
    dans mon controlleur j'ai rajouté une action qui permet de sauvegarder temporairement les valeurs du formulaires ci dessus!

    comment faire pour prendre en compte ces 2 actions dans ma vue??

    merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Développeur Full Stack
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Comment est défini le fait que le formulaire est définitivement ou temporairement sauvegardé ?

    C'est l'utilisateur qui choisit si il veut faire un brouillon, ou c'est l'application qui, par exemple toutes les 30 secondes, décident de faire une sauvegarde temporaire ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    c'est l'utilisateur qui, en cliquant sur un bouton décide de sauvegarder le formulaire

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    il y a donc 2 boutons : 1 pour une sauvegarde temporaire et l'autre pour la sauvegarde définitive

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    voila ce que j'aimerai faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form action="{% if ??? %}{{ path('validateGTDossier') }}{% else %}{{ path('saveGTDossier') }}{% endif %}" method="post" >
    avec 2 boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="submit" class="confirm" value="Validate Test dossier"/>
     
    <input type="submit" class="confirm" value="Save Test dossier"/>
    le choix de l'action devant se faire en fonction du bouton sur lequel on appuie.

    mais je ne sais pas quoi mettre dans le if pour qu'il prenne en compte le bouton sur lequel j'ai appuyé

    besoin d'aide please

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    ça ne peut pas se faire coté twig

    par contre tu peux envoyer sur une seule route qui se chargera de renvoyer sur l'une ou l'autre de tes actions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="{{ path('dispatchGTDossier') }}" method="post" >
    //...
    <button type="submit" class="confirm" name="action-type" value="validate">Validate Test dossier</button>
     
    <button type="submit" class="confirm" name="action-type" value="save">Save Test dossier</button>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //dans ton controlleur
    /**
    * @Route('dispatchGTDossier')
    **/
    public function dispatchAction(){
    if($this->getRequest()->get('action-type')=='save'){
    return $this->saveAction();//l'action de la route saveGTDossier
    }
    return $this->validateAction();//l'action de la route validateGTDossier
    }
    ou bien un traitement uniquement en javascript qui change l'attribut action sur le click de l'un ou l'autre des boutons

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    parfait ça marche niquel merci bcp arnooo999!

  8. #8
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Polynésie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Problème similaire 2 action dans mon formulaire
    Bonjour

    J'ai un problème similaire , peut être que quelqu'un voudrait bien m'aidé.
    http://pag5.moanawebstudio.com/
    J'ai une ébauche de site en ligne avec un module de connexion déconnexion.
    Mon soucis c'est que j'ai des comptes utilisateurs pro et utilisateurs normaux.
    acc_conn.php?type=1 pour les clients
    acc_conn.php?type=2 pour les pros



    J'arrive a me logguer en utilisateur normal mais pas en pro
    <form method="post" action="acc_conn.php">


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    ///////////////////////////////////
    //Validation du type
    //////////////////////////////////
     
    if (isset($_GET['type']))
    {
    	$type = (int) $_GET['type'];
     
    	if ($type != 1 && $type != 2)
    	$type = 1;
    }
    else $type = 1 ;
    Si je modifie le code comme ci dessous je me connecte en pro mais pas en client.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    ///////////////////////////////////
    //Validation du type
    //////////////////////////////////
     
    if (isset($_GET['type']))
    {
    	$type = (int) $_GET['type'];
     
    	if ($type != 1 && $type != 2)
    	$type = 1;
    }
    else $type = 2 ;

    Comment faire pour mon formulaire de connexion interroge les 2 type d'utilisateurs directement?

Discussions similaires

  1. Triple action pour un formulaire
    Par audrey1912 dans le forum ASP
    Réponses: 16
    Dernier message: 08/06/2011, 15h43
  2. Exception action pour un formulaire de saisie.
    Par Kirite dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/06/2009, 16h01
  3. plusieurs URL en action pour un formulaire?
    Par Tellounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/06/2009, 13h13
  4. Problème de formulaire : deux actions pour un formulaire
    Par bodysplash007 dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2007, 11h12
  5. Réponses: 4
    Dernier message: 10/04/2006, 11h52

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