ExtJS 4如何将Form值作为Integer

时间:2015-01-04 13:34:33

标签: json forms extjs4 int

我使用Ext.JSON.encode(this.getUserForm()。getForm()。getValues())在Json fomat中对我的表单值进行编码。

以下是问题:所有值都编码为字符串,甚至是整数值。

{
  "userId":"15",
  "username":"Albert",
  "firstName":"Albert",
  "lastName":"Einstein"
}

用户ID HiddenFiled

如何将我的用户ID字段编码为整数。

由于

3 个答案:

答案 0 :(得分:0)

隐藏字段是“无类型”,因此它不会调整或转换其值。您有两个主要选择:

  1. 扩展隐藏字段以实现将返回整数而不是字符串
  2. 的getValue方法
  3. 使用params而不是隐藏字段将id数据发送到服务器

答案 1 :(得分:0)

尝试

this.getUserForm().getForm().getFieldValues() 

getValues仅返回提交的字符串值

我一开始不明白这个问题,你的号码在“_”可能是你需要一些javascript

isNaN('fds5sdf') returns true
 isNaN('15')  returns false

所以如果isNaN函数返回false,则必须将部分分配给Int,parseInt('15');

首先尝试使用getFieldValues(),如果你的表单中的项是xtype:'numberfield'getFieldValues重新包含整数值......

答案 2 :(得分:0)

谢谢Saki。我决定选择第一个选项。

Ext.define('MA.view.custom.HField', {
extend: 'Ext.form.field.Hidden',
xtype: 'hfield',

getValue: function () {
      var value;
      var v = this.getSubmitValue();
      value = parseInt(v);
      return value;
 }

});