Bonjour
Je suis sur un problème épineux sous symfony 1.4.
Je récupère dans un formulaire d'ajout les données d'un premier formulaire, à savoir le nom d'un client et ces noms de domaines (séparés par des sauts de ligne).
S'affiche donc dans mon deuxieme formulaire tous les noms de domaines avec pour chacun d'entre eux des données à renseigner (le compte registar, l'url et des remarques).
Voici un exemple de ce qui apparait a l'écran concernant le deuxième formulaire une fois les données saisies :
Puis, lorsque je clique sur "Ajouter" pour ajouter ces données en base, il ne prend en compte uniquement que la derniere ligne puisque il s'agit en fait du meme formulaire mais répéter autant de fois qu'il y a de nom de domaines.toto.com | Directnic | www.toto.com | blablabla
toto.fr | Afnic | www.toto.fr | bla
toto.net | Gandi | www.toto.net | blabla
Voici mon code du formulaire dans mon template :
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 <form action="<?php echo url_for('@add_domaines');?>" method="post"> <!-- Affiche un rendu des erreurs globales --> <?php echo $form->renderGlobalErrors() ?> <table class="form_add_domaines"> <thead> <tr> <th><?php echo $form['nom_domaine']->renderLabel()?></th> <th><?php echo $form['compte_registar_id']->renderLabel() ?></th> <th><?php echo $form['url']->renderLabel() ?></th> <th><?php echo $form['remarque']->renderLabel() ?></th> </tr> </thead> <tbody> <?php //On scinde les noms de domaines en fonction du saut de ligne $domaines = explode("\n",$add_domaines); for($i=0; $i<count($domaines); $i++) {?> <tr> <td> <?php if(1==strcmp(' ', $domaines[$i])) { echo "<span style='color:red;'>"."<b>Attention, aucun nom de domaine n'a été indiqué à l'étape précédente</b>"."</span>"; } else { echo $domaines[$i]; } ?> </td> <td> <!-- Genere toutes les erreurs de validation sur le champ en utilisant l'objet validateur du champ --> <?php echo $form['compte_registar_id']->renderError() ?> <!-- Affiche le champ de saisi --> <?php echo $form['compte_registar_id'] ?> </td> <td> <!-- Genere toutes les erreurs de validation sur le champ en utilisant l'objet validateur du champ --> <?php echo $form['url']->renderError() ?> <!-- Affiche le champ de saisi --> <?php echo $form['url'] ?> </td> <td> <!-- Genere toutes les erreurs de validation sur le champ en utilisant l'objet validateur du champ --> <?php echo $form['remarque']->renderError() ?> <!-- Affiche le champ de saisi --> <?php echo $form['remarque'] ?> </td> </tr> <?php } ?> </tbody> <tfoot> <tr> <td> <?php echo link_to(__('Retour à la 1ère étape', array(), 'sf_admin'), '@domaine_new') ?> </td> <td> <!-- Permet de génèrer tous les champs cachés du formulaire (y compris les CSRF) --> <?php echo $form->renderHiddenFields(false) ?> <input type="submit" class="submit" value="Ajouter" /> </td> </tr> </tfoot> </table> </form>
Après avoir cherché longuement sur le net je n'ai rien trouvé pour mon problème, même une imbrication de formulaire avec la méthodene permettrait pas de résoudre mon problème car il s'agit dans mon cas du même formulaire répété plusieurs fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sfForm::embedForm()
Donc je suis tout ouïe à une éventuelle solution de votre part car la vraiment je sèche.
Merci d'avance![]()
Partager