Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-02-2010 17:07:59

dungies
Nouveau membre
Date d'inscription: 04-02-2010
Messages: 1

Perte des options d'un multiselect remplit en javascript

Bonjour,
Pour tester ZF je suis en trein de faire une application pour gérer des recettes de cuisine. J'en suis donc à faire un formulaire avec zend_form mais le soucis se pose à l'ajout de la recette car je dois faire trois multiselect. Un multiselect est pré-rempli des ingrédients et deux autres vides que je remplis en javascript (un servant à lister les ingrédients sélectionnés de l'utilisateur et un autre listant la quantité).
Ces deux multiselect sont donc rempli en javascript mais lorsque j'envoi mon formulaire au serveur Zend voit ma liste comme vide et je ne comprend pas ce qu'il faut que je fasse pour ne pas qu'il me perde les lignes des listes.

Voici mon code javascript :
function AddIng()
{   
    //prépare l'item à ajouter à la liste des ingrédients
    var itemIng = document.createElement('option');
    var select = document.getElementById("SlcIngredient" );
    itemIng.text = select.options[select.selectedIndex].text;
    itemIng.value = select.options[select.selectedIndex].value;
   
    //prépare la quantité à ajouter à la liste
    var quantite = prompt('Saisissez la quantité de '+itemIng.text);
    var itemQtt = document.createElement('option');
    itemQtt.text = quantite;
    itemQtt.value = quantite;
   
    //ajout de l'ingrédient et de sa quantité
    var slcCompose = document.getElementById('SlcCompose');
    var slcQuantite = document.getElementById('SlcQuantite');
    try
    {
        // standards compliant; doesn't work in IE
        slcCompose.add(itemIng, null);
        slcQuantite.add(itemQtt, null);
    }
    catch(ex)
    {
        // IE only
        slcCompose.add(itemIng);
        slcQuantite.add(itemQtt);
    }
   
    document.getElementById('SlcIngredient').remove(select.selectedIndex);
   
    //on masque le bouton d'ajout
    document.getElementById('BtnAddIng').style.display = 'none';
}



Et voici le code de mon controller :

$this->view->headScript()->appendFile($this->view->baseUrl().'/js/Edit.js');
       
        $form = new EditForm();
        $this->view->form = $form;
        $formData = $this->_request->getPost();
        if($this->_request->isPost())
        {
            if($form->isValid($formData))
            {
                $values=$form->getValues();
                $idRecette = new Recette();
                //SELECT max(id_recette)+1 id FROM recette
                $select_id = $idRecette->select()
                ->from("recette", "max(id_recette)+1 id")
                ->where("id_typerecette = ?", $values['SlcType']);
                $idRecette = $idRecette->fetchRow($select_id);
                $data = array(
                    'id_recette'=>$idRecette->id,
                    'titre_recette'=>$values['TxbTitre'],
                    'tps_preparation_recette'=>$values['TxbTpsPrepa'],
                    'tps_cuisson_recette'=>$values['TxbTpsCuisson'],
                    'id_auteur'=>$values['SlcAuteur'],
                    'id_typerecette'=>$values['SlcType'],
                    'preparation_recette'=>$values['TxbPrepa'],
                    'conseil_recette'=>$values['TxbConseil'],
                    'changer_recette'=>$values['TxbChanger'],
                    'gagnertps_recette'=>$values['TxbGagnerTps'],
                    'accompagnement_recette'=>$values['TxbAccompagnement']
                );
                $recette = new Recette();
                $recette->insert($data);
            }
        }





Je remercie les courageux qui prendront le temps de lire et peut-être de m'aider.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages