2012-06-22 26 views
0

我是新的ExtJS,仍然在學習如何在那裏工作.. 在我的情況,我有一個HTML頁面,我通過ajax在我的索引頁面和這裏的html是一個表單元素。到目前爲止,我已經成功地爲我的表單的按鈕設置了一個事件監聽器,所以當我點擊按鈕時,事件正在完美運行。我不確定如何通過我的控制器處理表單的字段值。從ExtJs控制器的HTML表單傳遞值

這裏是示例代碼:

形式:

<form id="loginform"> 
     <fieldset> 
      <input type="text" id="usn" placeholder="User" /><br /> 
      <input type="password" id="pwd" placeholder="Password"/> 
     </fieldset> 
     <p><input type="button" id="lg" value="Enter" /></p> 
    </form> 

我的視圖:

Ext.define('App.view.Login', { 
extend: 'Ext.container.Container', 
alias: 'widget.login', 

renderTo: 'wrap', 

initComponent: function() { 


    this.items = [{ 
     loader: { 
      autoLoad: true, 
      url: "web/login.html", 
      renderer: function(loader, response, active) { 
       var res = response.responseText; 
       loader.getTarget().update(res); 
      } 
     }  
    }]; 


    this.addEvents('loginUser'); 



    this.callParent(arguments); 
}, 


afterRender: function() { 
    this.mon(this.el, 'click', this.onUserClick, this, { 
     delegate: '#lg' 
    }); 

    this.callParent(arguments); 
}, 


onUserClick: function(ev, t) { 
    ev.stopEvent(); 

    var params = Ext.fly(t).getAttribute('value'); 

    this.fireEvent('loginUser', params, this, ev); 
} 

});

的cotroller:

Ext.define('App.controller.Login', { 
extend: 'Ext.app.Controller', 

views: [ 'Login' ], 

refs: [{ 
    selector: 'login', 
    ref: 'login' 
}], 

init: function() { 

    this.control({ 

     'login':{ 

      loginUser: this.onLoginAuth 

     } 
    }); 
}, 

onLoginAuth: function(params, component, event){ 





    Ext.widget('users'); 


    this.getLogin().destroy(); 

} 

});

有人知道我們該如何實現它嗎?

+0

爲什麼你會做它是這樣的,而不是使用,說一個外部表格?謝謝 –

回答

1

我想你是誤解了extjs。主要是我使用extjs瀏覽器兼容性。我們不直接寫html,extjs爲我們做。

在HTML端,我們只包括ExtJS的圖書館和app.js

每天的Ext JS 4應用程序app.js

<html> 
    <head> 
<title>Account Manager</title> 

<link rel="stylesheet" type="text/css" href="ext-4/resources/css/ext-all.css"> 

<script type="text/javascript" src="ext-4/ext-debug.js"></script> 

<script type="text/javascript" src="app.js"></script> 
</head> 
<body></body> 
</html> 

與應用類的實例開始。該應用程序包含您的應用程序的全局設置(如應用程序的名稱),以及保持對應用程序使用的所有模型,視圖和控制器的引用。一個應用程序還包含一個啓動函數,它在加載所有內容時自動運行。

檢查http://docs.sencha.com/ext-js/4-1/#/guide/application_architecture

0

至於其他的海報說,這讓一大堆使用Ext.form類更有意義,但是如果你必須這樣做的:

this.fireEvent('loginUser', this, Ext.getDom('usn').value, Ext.getDom('pwd').value);