自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

官方文檔翻譯 在Sencha Touch 2中使用表單

移動(dòng)開發(fā)
大多數(shù)需要用戶輸入的應(yīng)用都會(huì)用表單。Sencha Touch表單是對HTML5表單的封裝,驗(yàn)證和提交數(shù)據(jù)有額外選項(xiàng),用簡單的方法把字段布局展現(xiàn)為令人舒服的可視化方式。

創(chuàng)建一個(gè)表單

表單面板提供一套表單字段和訪問/存儲(chǔ)數(shù)據(jù)的簡單方式。通常表單面板只包含你要顯示的一套字段,在條目(item)配置中的排序如下:

創(chuàng)建一個(gè)表單

  1. Ext.create('Ext.form.Panel', { 
  2.  
  3. fullscreen: true, 
  4.  
  5. items: [ 
  6.  
  7.  
  8. xtype: 'textfield', 
  9.  
  10. name : 'name', 
  11.  
  12. label: 'Name' 
  13.  
  14. }, 
  15.  
  16.  
  17. xtype: 'emailfield', 
  18.  
  19. name : 'email', 
  20.  
  21. label: 'Email' 
  22.  
  23. }, 
  24.  
  25.  
  26. xtype: 'passwordfield', 
  27.  
  28. name : 'password', 
  29.  
  30. label: 'Password' 
  31.  
  32.  
  33.  
  34. }); 

這里我們只是創(chuàng)建了一個(gè)簡單表單面板,它可以用做注冊表單注冊到你的服務(wù)。我們?yōu)橛脩裘衷黾觽€(gè)普通文本字段,一個(gè)電子郵件字段,***一個(gè)密碼字段。在每個(gè)case里我們在字段里提供了一個(gè)名字配置,這樣稍后我們就可以在表單加載或存儲(chǔ)數(shù)據(jù)時(shí)標(biāo)識(shí)它。

加載數(shù)據(jù)

使用上面我們創(chuàng)建的表單,我們可以用幾種不同的方法把數(shù)據(jù)加載進(jìn)去,最簡單的方法就是使用setValues:

  1. form.setValues({ 
  2.  
  3. name: 'Ed', 
  4.  
  5. email: 'ed@sencha.com', 
  6.  
  7. password: 'secret' 
  8.  
  9. }); 

 

加載模型實(shí)例到表單中也很容易—假如我們有一個(gè)用戶模型,要把特定的實(shí)例加進(jìn)我們的表單。

  1. Ext.define('MyApp.model.User', { 
  2.  
  3. fields: ['name', 'email', 'password'] 
  4.  
  5. }); 
  6.  
  7. var ed = Ext.create('MyApp.model.User', { 
  8.  
  9. name: 'Ed', 
  10.  
  11. email: 'ed@sencha.com', 
  12.  
  13. password: 'secret' 
  14.  
  15. }); 
  16.  
  17. form.setRecord(ed); 

檢索表單數(shù)據(jù)

getValues方法可以很方便的從表單面板里取數(shù)據(jù):

  1. var values = form.getValues(); 
  2.  
  3. //values now looks like this: 
  4.  
  5.  
  6. name: 'Ed', 
  7.  
  8. email: 'ed@sencha.com', 
  9.  
  10. password: 'secret' 
  11.  

可以在單獨(dú)字段上偵聽變動(dòng)事件,從而取得用戶變動(dòng)的及時(shí)通知。這里我們擴(kuò)展上面的用戶模型,只要任一字段改變就更新模型。

  1. var form = Ext.create('Ext.form.Panel', { 
  2.  
  3. listeners: { 
  4.  
  5. '> field': { 
  6.  
  7. change: function(field, newValue, oldValue) { 
  8.  
  9. ed.set(field.getName(), newValue); 
  10.  
  11.  
  12.  
  13. }, 
  14.  
  15. items: //as before 
  16.  
  17. }); 

上面使用了Touch2.0的新功能—可以指定任何容器的子組件上的監(jiān)聽器。在這個(gè)case中,我們把監(jiān)聽器綁定到每個(gè)表單字段的變動(dòng)事件,這里的表單字段是表單面板的一個(gè)直接子部分。監(jiān)聽器取得觸發(fā)事件的字段的名字,用新值更新模型實(shí)例。例如,改變表單的電子郵件字段將會(huì)更新模型的電子郵件字段。

提交表單

有幾個(gè)提交表單數(shù)據(jù)的方法。在上面的例子里有一個(gè)更新模型實(shí)例,可選用模型的save方法把改變傳回服務(wù)器,而不用傳統(tǒng)的表單提交。我們也可以用submit方法發(fā)送一個(gè)普通瀏覽器表單提交。

  1. form.submit({ 
  2.  
  3. url: 'url/to/submit/to', 
  4.  
  5. method: 'POST', 
  6.  
  7. success: function() { 
  8.  
  9. alert('form submitted successfully!'); 
  10.  
  11.  
  12. }); 

在這個(gè)case里我們提供url來提交表單到內(nèi)置的提交調(diào)用—你可以在創(chuàng)建表單的時(shí)候設(shè)置url配置項(xiàng)。我們可以指定其他參數(shù)(參照全列表submit),包括針對成功/失敗的回調(diào)函數(shù),他們是否被調(diào)用取決于表單提交是否成功。在數(shù)據(jù)存儲(chǔ)到服務(wù)器后,這些回調(diào)函數(shù)通常用來在你的應(yīng)用中采取些動(dòng)作。

查看地址:http://www.html5mobi.com/document/st2/docs/index.html

原文地址:http://www.html5mobi.com/document/st2/docs/index.html#!/guide/forms

責(zé)任編輯:佚名 來源: 移動(dòng)Web開發(fā)社區(qū)
相關(guān)推薦

2011-10-26 10:12:53

Sencha Touc布局

2012-05-01 20:57:26

Sencha Touc

2011-10-26 10:21:40

Sencha Touc組件

2012-01-10 13:21:33

Sencha Touc使用data包

2011-10-26 10:43:19

Sencha Touc

2011-10-26 10:32:05

Sencha Touc數(shù)據(jù)視圖

2011-10-18 09:49:40

新特征Sencha Touc

2012-03-08 22:31:28

Sencha Touc

2011-09-02 15:18:49

Sencha Touc

2010-11-22 10:31:17

Sencha touc

2011-07-26 09:41:50

Sencha Touc特性HTML 5

2011-09-05 13:53:08

Sencha Touc列表

2011-09-05 14:09:06

Sencha Touc函數(shù)

2011-09-05 11:23:26

EclipseSencha Touc框架

2011-07-25 15:55:21

Sencha ToucHtml 5

2011-09-05 12:49:59

Sencha Touc事件

2011-09-02 15:12:29

PhoneGapSencha Touc

2011-09-02 16:08:09

Sencha ToucAPI文檔

2011-09-02 16:42:51

Sencha ToucWeb應(yīng)用

2011-09-05 10:20:21

Sencha ToucAPP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)