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

Ext JS / Sencha Discussion :

Comment utiliser les données JSON dans un formpanel ?


Sujet :

Ext JS / Sencha

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 229
    Points : 87
    Points
    87
    Par défaut Comment utiliser les données JSON dans un formpanel ?
    Bonjour,

    j'ai une question à laquelle je ne trouve pas de réponse, j'en fait donc appel à vous.

    Comment je peux utiliser les données récupérer depuis JSON dans mes textfields ?

    Voici mon code :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    var conn = new Ext.data.Connection();
    conn.request({
       url: '../getUserData.php',
       method: 'POST',
       success: function(responseObject) {
              var result = Ext.util.JSON.decode(responseObject.responseText);
       },
       failure: function(form, http){
          var json = Ext.util.JSON.decode(http.response.responseText);
          Ext.Msg.alert(json.error.clientCode);
       }
    });
    
    var account_panel = new Ext.form.FormPanel({
        url:'ajax/save-account.php',
        standardSubmit: true,
        id:'account_panel',
        autoScroll:true,
        frame:true,
        title: 'Mon compte',
        height:600,
        items: [{
       layout:'column',
       border:false,
       items:[{
           columnWidth:.5,
           layout: 'form',
           border:false,
           items: [{
                 xtype:'textfield',
                      fieldLabel: 'Prénom ',
                      name: 'account_firstname',
                      anchor:'55%'
              }, {
             xtype:'textfield',
                        fieldLabel: 'Nom ',
                 name: 'account_name',
                        anchor:'55%'
          }, {
             /*xtype: 'datefield',
             fieldLabel: 'Date de naissance ',
             name: 'account_birthday',
             anchor:'55%'
          }, {*/
             xtype:'textfield',
             fieldLabel: 'Adresse e-mail',
             name: 'account_email',
             /*valueField:data[0]['id'],*/ // je souhaite pré-remplir ce champs avec ce que j'ai trouvé dans la BDD
             vtype:'email',
                    anchor:'55%'
          }, {
             xtype:'textfield',
             fieldLabel:'Identifiant',
             name:'loginUsername',
             minLength: 6,
                 maxLength: 20,
             disabled: true,
             anchor:'55%'
    
          }, {
             xtype: 'textfield', id: 'loginPassword', fieldLabel: 'Mot de passe',
                 inputType: 'password',allowBlank: false, minLength: 6,
                 maxLength: 20,
                 minLengthText: 'Votre mot de passe doit comporter entre 6 et 20 caractères.',
             blankText:'Veuillez saisir votre mot de passe',
             anchor:'55%'
              }, {
             xtype: 'textfield', id: 'loginPasswordVerif',
                fieldLabel: 'Confirmation mot de passe', inputType: 'password',
             allowBlank: false,
             vtype: 'password', initialPassField: 'loginPassword',
             blankText:'Saisissez à nouveau votre mot de passe',
             anchor:'55%'
          }]
           }]
          }, {
        buttons: [{
          text: 'Enregistrer',
              handler:function() {
                account_panel.getForm().getEl().dom.action = 'ajax/save-account.php';
                account_panel.getForm().getEl().dom.method = 'POST';
                account_panel.getForm().submit();
             }
           },{
          text: 'Annuler',
             handler:function() {
                javascript:location.reload(true)
             }
           }]
       }]
    });
    Comment utiliser les valeurs contenus dans la variable "result" dans mon FormPanel ?

    Merci par avance !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 45
    Points
    45
    Par défaut
    Dans le callback "success" de ta request tu dois pouvoir faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    success: function(responseObject) {
              var result = Ext.util.JSON.decode(responseObject.responseText);
              account_panel.getForm().setValues(result);
    },

Discussions similaires

  1. Comment utiliser les données stockées dans un ArrayList?
    Par lsebe2 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 01/11/2014, 08h37
  2. Réponses: 4
    Dernier message: 20/12/2012, 21h24
  3. Réponses: 6
    Dernier message: 14/12/2007, 23h26
  4. Réponses: 1
    Dernier message: 27/10/2006, 12h17
  5. Réponses: 2
    Dernier message: 12/05/2006, 11h07

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