J'ai un formulaire, où certains champs ressemblent à des lignes, donc je peux les ajouter/les supprimer en utilisant JS. Par exemple:Zend Framework, Zend_Form_Element comment définir un nom personnalisé?
terrain avec ID = 1 (ligne existante)
<input id="id[1]" type="text" name="id[1]" value="1" />
<input id="name[1]" type="text" name="name[1]" value="100" />
terrain avec ID = 2 (ligne existante)
<input id="name[2]" type="text" name="name[2]" value="200" />
<input id="name[2]" type="text" name="name[2]" value="200" />
nouvelle ligne créée par par défaut (pour permettre d'ajouter une ligne supplémentaire aux lignes existantes)
<input id="id[n0]" type="text" name="id[n0]" value="" />
<input id="name[n0]" type="text" name="name[n0]" value="" />
nouvelle ligne créée par JS
<input id="id[n1]" type="text" name="id[n1]" value="" />
<input id="name[n1]" type="text" name="name[n1]" value="" />
Alors que nous procéderons sous forme, nous allons savoir ce que les lignes de mise à jour et ce qu'il faut ajouter (si l'index commence par « n » - nouveau, si index est un élément existant en nombre).
J'ai essayé des sous-formulaires ... mais dois-je créer un sous-formulaire pour chaque champ? Si j'utilise le code suivant:
$subForm = new Zend_Form_SubForm();
$subForm->addElement('Text', 'n0');
$this->addSubForm($subForm, 'pid');
$subForm = new Zend_Form_SubForm();
$subForm->addElement('Text', 'n0');
$this->addSubForm($subForm, 'name');
Quelle est la meilleure façon de procéder?
1) Utiliser des sous-formulaires?
2) Etendez Zend/Form/Decorator/ViewHelper.php pour utiliser des noms comme name[nX]
?
3) D'autres solutions?
Merci.
Merci. c'est ce dont j'ai besoin. – user281571
> Vous n'avez aucune idée de la difficulté de trouver cette information. Je pense que la raison principale était la façon dont j'ai cherché. J'essayais de trouver comment obtenir un tableau pour chaque sous-formulaire. En désespoir de cause, je me suis dit que je fixerais mon propre nom et que j'aurais atterri sur cette page. Vous devriez faire un tutoriel! Ils sont plutôt rares !!! –