2013-02-01 40 views
8

Thực ra tôi có một tập lệnh ExtJs để tạo biểu mẫu với một Cửa sổ bên dưới.Cách lấy các giá trị từ dạng Ext

var frmAccount = Ext.create('Ext.form.Panel',{ 
    bodyPadding: 5, 
    frame : true, 
    items :[ 
    { 
     xtype  : 'textfield', 
     fieldLabel : 'Account Number', 
     name  : 'accountNum' 
    },{ 
     xtype  : 'textfield', 
     fieldLabel : 'Company', 
     name  : 'company' 
    },{ 
     xtype  : 'textfield', 
     fieldLabel : 'Office', 
     name  : 'office' 
    },{ 
     xtype  : 'textareafield', 
     fieldLabel : 'Address', 
     name  : 'address', 
     width  : 350 
    },{ 
     xtype  : 'textfield', 
     fieldLabel : 'City', 
     name  : 'city' 
    },{ 
     xtype  : 'textfield', 
     fieldLabel : 'Country', 
     name  : 'nation' 
    }] 
}); 

var winAddAccount = Ext.create('widget.window',{ 
    id  : 'addAccount', 
    title : 'Filter Record', 
    width : 400, 
    height : 300, 
    modal : true, 
    closeAction : 'hide', 
    items : frmAccount, 
    layout : 'fit', 
    bodyPadding: 5, 
    buttons:[ 
    { 
     text : 'Find', 
     handler: function(){ 
      //console.log(form value); 
     } 
    }, 
    { 
     text : 'Cancel', 
     handler: function(){ 
      winAddAccount.hide(); 
     } 
    } 
    ] 
}); 

Tôi chỉ muốn lấy các giá trị từ biểu mẫu sau khi tôi nhấp vào nút 'Tìm'. Nhưng tôi không biết lấy giá trị từ biểu mẫu sau khi tôi nhấp vào nút 'Tìm'. hy vọng tôi có thể thấy giá trị với console.log tập lệnh trên trình xử lý. Vui lòng giúp tôi giải quyết hoặc đề xuất ý tưởng. Cảm ơn.

Trả lời

24

thử này

text : 'Find', 
handler: function(btn){ 
    var win = btn.up('window'), 
     form = win.down('form'); 
    console.log(form.getForm().getValues()); 
} 

Và ngoài ra tôi khuyên bạn nên xem xét thông qua các tutorials cung cấp bởi sencha và để có một cái nhìn tại các API mà cũng chứa rất nhiều ví dụ

Để chỉ nhận giá trị của một trường cụ thể làm (ví dụ này giả định trường tồn tại!)

text : 'Find', 
handler: function(btn){ 
    var win = btn.up('window'), 
     form = win.down('form'); 
    console.log(form.getForm().findField('NamePropertyValue').getSubmitValue() /*or call getSubmitData() or just getValue()*/); 
} 
+0

+1, một tùy chọn khác là truy vấn cửa sổ theo id nhưng điều này tốt hơn. Tôi hiếm khi làm việc với id trong các thành phần của mình. Hầu hết thời gian vì tôi có thể có nhiều phiên bản của cùng một cửa sổ đang mở. –

+0

Ôi Chúa ơi ... cảm ơn bạn .. nhưng, làm cách nào để có được giá trị thẳng từ biểu mẫu? Chẳng hạn như tôi chỉ muốn nhận giá trị 'văn phòng' từ biểu mẫu .. – user1875301

+0

@ user1875301 Xem chỉnh sửa của tôi – sra

0
handler: function(button) { 
    var form = button.up('form').getForm(); 
    console.log(form.getValues()); 
    // ... 
} 
Các vấn đề liên quan