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

Zend_Form PHP Discussion :

Faire passer les données POST dans un contentPane [ZF 1.7]


Sujet :

Zend_Form PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Faire passer les données POST dans un contentPane
    Je voudrais avoir un envoie de fichier sans chargement de page....

    Voila ma declaration du contentpane dans mon controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $this->view->contentPane(
    			    'foo',
    			    "Formulaire upload...",
    			    array(
    			        'title'  => 'Pane Title',
    			         'href' => $this->view->url(array('controller' => 'compte', 'action' => 'uploadphoto-ajax'))
    			    ),
    			    array(
    			        'style' => 'width: 120px; background-color: lightgray;',
    			    )
    			);
    Puis sur mon Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $file = new Zend_Form_Element_File('file');
            $file->setLabel('File')
                     ->setRequired(true)
                     ->addValidator('NotEmpty')
                     ->addValidator('Size', false, array('min' => 20, 'max' => 20000))
                    ->addValidator('Extension', false, array('jpg', 'png','gif'))
                    ->addFilter("Rename",array('target' => $path, 'overwrite' => true));
     
    $submit = new Zend_Dojo_Form_Element_SubmitButton('submit');
            $submit->setLabel('Upload')
     
            ->setAttrib('onclick', "dijit.byId('foo').refresh();return true")  //
            ;
    Du coup quand je click sur le submit, mon contentpane se rafraichi bien...


    Mais comment faire passer les données POST du reste de mon formulaire ??


    Peut etre avec dojo.xhrPost??


    Help...
    Images attachées Images attachées  

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut resolu
    Pour ceux que ça intéresse upload avec zend upload en ajax.
    Déclaration du formulaire.
    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
     
            $this->setName('Uploadphoto');
            $this->setMethod('post');
            $this->setAttrib('enctype', 'multipart/form-data');
     $file = new Zend_Form_Element_File('filesend');
            $file->setLabel('File')
                     ->setRequired(true)
                     ->addValidator('NotEmpty')
                     ->addValidator('Size', false, array('min' => 20, 'max' => 200000))
                    // ->addValidator("Extension",".jpg")
                    ->addValidator('Extension', false, array('jpg', 'png','gif'))
                    ->addFilter("Rename",array('target' => $path, 'overwrite' => true));
                   // ->setDestination('C:\xampp\htdocs\zentest\public\files');
     
           	$image_url = new Zend_Dojo_Form_Element_ValidationTextBox('IMAGE_URL');
            $image_url->setLabel('image_url')
            ->addFilter('StringTrim')
            ->addFilter('StringToLower');
     
     
            $submitupload = new Zend_Dojo_Form_Element_Button('submitupload');
            $submitupload->dijitParams=array('label' => "Upload");
            $submitupload->setAttrib('onclick', "submitFormsendfile('Uploadphoto','utilUploadPhotoresponse','".$conf->pathweb."skillblog/compte/uploadphoto-ajax');return true");;
     
     
            $this->addElements(array( $file,$submitupload));
    La vue correspondante (le petit script java pour charger l'image, précédemment uploadé,dés le chargement de page):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php echo $this->formUploadPhoto ;?><div id="utilUploadPhotoresponse"></div><div id="UploadPhotoApercu"></div></div>
    <script type='text/javascript'>
    //<!--
    dojo.byId('UploadPhotoApercu').innerHTML =  '<img src="<?php echo $this->UploadPhotoApercu ; ?>">';
    //-->
    </script>
    puis la fonction javascript :
    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
     
    <script type='text/javascript'>
    //<!--
    dojo.require("dojo.io.iframe");
    dojo.require("dojo.parser");
    function submitFormsendfile(formname,contentresponsename,urladresse) {
     
    	dojo.io.iframe.send ({
                            // The page that parses the POST request
                            url: urladresse,
                            contentType: "multipart/form-data", 
                            handleAs: "html",
     
                            // Name of the Form we want to submit
                            form: dojo.byId(formname),
     
                            // Loads this function if everything went ok
                            handle: function (data,ioArgs) {
                                    // Put the data into the appropriate <div>
    		 						//console.debug("Uploaded");
     
                                    dojo.byId(contentresponsename).innerHTML = data.body.innerHTML; 
                                    var foo = dojo.fromJson(data.body.innerHTML);
     
     
                					if (foo.status == "success"){
                						dojo.byId('UploadPhotoApercu').innerHTML =  "<img src=\"" + foo.details.href + "\">";
     
                            },
                            // Call this function if an error happened
                            error: function (error) {
                                    console.error ('Error: ', error);
                            }
                });
            }
    //-->
     
    </script>
    J'espère que ça aideras quelqu'un.. :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer les données d'un formulaire dans un mail
    Par souminet dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2010, 12h29
  2. Réponses: 4
    Dernier message: 22/02/2010, 22h45
  3. Passer les données ISO en UT8 dans une base UT8.
    Par Space Cowboy dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/06/2008, 13h15
  4. Réponses: 2
    Dernier message: 04/03/2008, 11h32
  5. Faire "remonter" les données dans des requetes imbriquées
    Par Earthwormjim dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/08/2006, 17h37

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