2015-01-04 1 views
-1

Я использую Ext.JSON.encode (this.getUserForm(). GetForm(). GetValues ​​()) для кодирования значений моей формы в Json fomat.ExtJS 4 Как получить значение формы как целое

В данном случае проблема: все значения кодируются как строковые, даже целочисленные значения.

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

идентификатор пользователя HiddenFiled

Как сделать мое поле ID пользователя кодируется как Integer.

Благодаря

ответ

0

Скрытое поле «Бестиповое», чтобы он не обуславливать или преобразовать его значение. У вас есть два основных варианта:

  1. Продлить скрытое поле для реализации методы GetValue, который будет возвращать целые числа вместо строк
  2. Использования Params вместо скрытых полей для передачи данных идентификаторов на сервер
0

Ьга

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

GetValues ​​возвращает только строковые значения для представления

Я не могу понять этот вопрос на первом, ваш номер в «_» может быть вам нужно яваскрипт

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

так, если функция IsNaN возвращать ложь, вы должны части к Int, ParseInt ('15');

сначала попробовать getFieldValues ​​(), если ваша деталь в форме xtype: «numberfield» getFieldValues ​​reurns целого значение ...

0

Спасибо Saki.I решил пойти на первый вариант.

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; 
} 

});

+0

ответьте, если было полезно. –

Смежные вопросы