2013-02-18 4 views
0

мне нужно изменить свой титул внутри FormPanelИзменение формы панели название Сенча сенсорный

Вот мой код

view.js 

    Ext.define('bluebutton.view.BlueButton.Loyalty', { 
    extend: 'Ext.Container', 
    xtype: 'loyaltycard', 
     requires: [ 

    'bluebutton.view.BlueButton.TransactionList', 
    'bluebutton.view.BlueButton.MemberPopUp', 
    'bluebutton.view.BlueButton.MemberDetail', 

     'bluebutton.view.BlueButton.CouponMain', 

    'bluebutton.store.BlueButton.MemberList', 
    'bluebutton.store.BlueButton.CouponList', 

    'Ext.ux.keypad.Keypad', 
    'Ext.Img', 
    'Ext.carousel.Carousel' 



    ], 
    config: { 
//  iconCls: 'add_black', 
//  title :'Loyalty Point', 
     styleHtmlContent: true, 
     cls: 'styledContent', 
//   
     layout: 'hbox', 
     border: 3, 
     ui: 'round', 

     defaults: { 
       margin : '10 10 10 10', 
       padding : 10 
      }, 

     items :[ 


      { 
       flex: 1, 

       xtype :'formpanel', 
       id:'loyaltyform', 
       items :[ 
        { 
         xtype: 'fieldset', 
         cls :'containerRadious' , 

         title: 'Welcome, new member ~<i><u>Kenny</u></i>', 
          defaults: { 
          labelWidth: '35%', 
          style: 'font-size:1.0em' 
         }, 
         items: [ 
          { 

           xtype: 'image', 
           src: 'resources/images/user3.png', 
           height: 100, 
           margin:20 

          }, 



          { 
           xtype: 'textfield', 
           name : 'Name', 
           label: 'Name', 
           value :'Kenny Chow', 
           readOnly: true 
          }, 
          { 
           xtype: 'textfield', 
           name : 'Age', 
           label: 'Age', 
           value :'20', 
           readOnly: true 
          }, 
          { 
           xtype: 'textfield', 
           name : 'Point', 
           label: 'Point Available', 
           value :'50', 
           id :'point', 
           readOnly: true 
          }, 
          { 
           xtype: 'textfield', 
           name : 'lastVisited', 
           label: 'Last Visited', 
           id :'lastVisited', 
           value :'27/12/2012 11:53 AM', 
           readOnly: true 
          }, 


          { 
           xtype:'button', 
           text: 'Scan', 
           width : '100%', 
           id: 'btnScan', 

          }, 




         ] 

        } 
       ] 

      }, 


      { 
       flex: 2, 
       xtype :'carousel', 
        cls :'containerRadious' , 

       items :[ 
        { 

         xtype :'keypad', 
          layout: { 
          type: 'hbox', 
           pack: 'center' 
         }, 
        }, 

        { 
         xtype:'couponlistcard' 


        } 


       ] 


      } 




     ], 


    } 

}); 

Контроллер

 onbtnAddClick: function (e) { 
       var loyaltyform = Ext.getCmp('loyaltyform'); 
       var pointAvalaible = Ext.getCmp('point').getValue(); 
       var keyPadValue = Ext.getCmp('keypad_value').getValue(); 
       var consumerID = Ext.getCmp('keypad_value').getValue(); 
      Ext.getCmp('loyaltyform').setTitle('Changed Title');; 

} 

, но я получаю эту ошибку.

**Uncaught TypeError: Object [object Object] has no method 'setTitle'** 

Перед лицом этой проблемы перед лицом? пожалуйста, помогите

ответ

0

Причина, по которой вы получаете ошибку, состоит в том, что у формыпанели нет метода setTitle(). Чтобы изменить заголовок, вы должны вызвать метод setTitle() вашего fieldset, который находится внутри вашей формы. Так дать вам Fieldset идентификатор и использовать это:

Ext.getCmp('yourFieldsetID').setTitle('Changed Title'); 

Проверьте методы, которые можно использовать для панели ан FIELDSET в документации Сенча:

http://docs.sencha.com/touch/2-1/#!/api/Ext.form.Panel

http://docs.sencha.com/touch/2-1/#!/api/Ext.form.FieldSet

Удачи!

 Смежные вопросы

  • Нет связанных вопросов^_^