2013-05-14 82 views
1

在我的表單上我有一個textarea,它需要一個單詞列表。例如word1,word2,word3等。用戶可以根據自己的意願放置儘可能多的單詞。我的應用程序將該條目作爲單個字符串「word1,word2,word3」獲取並將其轉換爲數組,我必須執行myString.split(「,」)。我可以使用extjs作爲數組提交字段值嗎?

我想知道是否可以設置表單,以便extjs知道它應該在提交數據時將其轉換爲數組?喜歡的東西:

var myField = { 
      xtype : 'textarea', 
      fieldLabel : 'Words', 
      name : 'words', 
      type: 'array' 
    } 

編輯:我也很樂意與具有某種功能的onSubmit的該字段的值設置爲一個數組客戶端將其發送

+0

在提交過程中,你認爲如何發送數組到服務器? – 2013-05-14 10:44:03

+0

可能將其格式化爲JSON數組而不是字符串。例如{「words」:[「word1」,「word2」]}而不僅僅是{「words」:「word1,word2」}。我不知道可以採取任何其他方式 – Abby 2013-05-14 12:37:22

回答

0

之前,假設你使用ExtJS的4和較高的我建議如下:

覆蓋Ext.form.field.TextArea領域並實現它的getModelData()功能是這樣的:

getModelData: function() { 
    var me = this, 
    data = null; 
    if (!me.disabled && !me.isFileUpload()) { 
     data = {}; 
     data[me.getName()] = me.getValue().split(","); 
    } 
    return data; 
} 

這將允許Ext將字段的模型值正確地解釋爲字符串數組。然後你的表單模型將包含適合你的領域的數組。 您可以致電getFieldValues()爲您的基本表單返回相應的json將其發送到服務器,或者您可以使用Ext MVC函數與表單的模型一起工作。

相關問題