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 :

acceder les checboxes d'un embedded form


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut acceder les checboxes d'un embedded form
    Hi,

    Desole, le message est en anglais... Je suis n nouvel utilisateur de symfony et j'ai besoin d'aide urgente.

    I have been trying for days to access checkboxes of an embedded form and it's driving me crazy. I just can not do it and I wonder if it is possible at all.

    For info, the data I need to save in a DB field must be formatted as follows: value1|value2|value3
    value1, value2, value3 being my checkboxes values.
    Currently when saving, it writes 'Array' in the DB field.

    I need to be able to load and save the data.

    In my main form I have
    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
     
    class EditLandingProfilingForm extends BaseUserForm
    {
    	public function configure()
    	{
     
       ...
     
                foreach($this->getObject()->getCustomerMaster() as $cusVal){
    		    $this->embedForm('editcustomer', new EditCustomerProfilingForm($cusVal));
     
    				if($cusVal->getCategoriesInterest()){
    					$avail = explode('|', $cusVal->getCategoriesInterest());
    					$this->setDefault('editcustomer[categories_interest]', $avail);
    				}
               }
     
    }
    but it does not work.
    I do have other values that get displayed properly in my form but they are text field.


    When saving the form, I have the same problem. I need to make the array of posted checkboxes become a string (value1|value2|value3)
    but once again I can not access the posted values and update them before they are saved in DB.

    my code is as follow for declaring the form
    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
     
    		$data = Doctrine::getTable('User')->checkUsername($username);
    		if ($data){
    				$customer = $data->getCustomerMaster();
    			        $this->form = new EditLandingProfilingForm($data);
                    }
     
                    if ($request->isMethod('post'))
    		{
     
    			$this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName()));
    			$this->form_data = $request->getParameter($this->form->getName());
     
    			if ($this->form->isValid()) {
     
                                    /* I NEED TO EDIT SOMEWHERE THE POSTED DATA SO IT READS value1,value2... */
     
                                    $this->form->save();
                            }
     
                     }
    I hope it makes sense.

    Any healp would be greatly appreciated.

  2. #2
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Salut,

    For info, the data I need to save in a DB field must be formatted as follows: value1|value2|value3
    value1, value2, value3 being my checkboxes values.
    Currently when saving, it writes 'Array' in the DB field.
    Après la récupération des données tu devras toi même récupérer le tableau de valeur et le concaténer à la main, puis le réinjecter dans le même champs sans oublier de t'assurer que le validateur de ton formulaire acceptera cette nouvelle valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    When saving the form, I have the same problem. I need to make the array of posted checkboxes become a string (value1|value2|value3)
    but once again I can not access the posted values and update them before they are saved in DB.
    Je ne vois pas comment tu déclares tes checkboxes, ni même si elle font parti du schéma de base mais si tu les ajoutes toi même : assure toi que dans le HTML elles suivent le même formatage que tes autres champs et qu'elles possèdent un attribut name (name="entite[nom_du_champs]". Il m'est déjà arrivé de me faire piéger et ne pas récupérer certaines valeurs parce qu'elles ne possédaient pas cet attribut ou qu'elles étaient mal nommées.

    ++

Discussions similaires

  1. [1.x] Problème avec les Embedded Forms
    Par Fanopsis dans le forum Symfony
    Réponses: 0
    Dernier message: 19/12/2012, 18h21
  2. [c#]probleme avec les menu toolStripItem dans une form mdi??
    Par must19 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/11/2006, 23h02
  3. [Résolu][C#]Accéder à un objet d'un form depuis un autre
    Par pierre1256 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/06/2006, 23h05
  4. [VB.NET] extraire tt les controls prensents dans une form.
    Par Splash dans le forum Windows Forms
    Réponses: 7
    Dernier message: 21/12/2005, 19h12
  5. [C#] Acceder à la méthode d'une autre form
    Par dacid dans le forum Windows Forms
    Réponses: 35
    Dernier message: 23/03/2005, 14h49

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