Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json ExtJS 4如何将表单值获取为整数_Json_Forms_Extjs4_Int - Fatal编程技术网

Json ExtJS 4如何将表单值获取为整数

Json ExtJS 4如何将表单值获取为整数,json,forms,extjs4,int,Json,Forms,Extjs4,Int,我使用Ext.JSON.encode(this.getUserForm().getForm().getValues())在JSON fomat中对我的表单值进行编码 问题是:所有值都被编码为字符串,甚至是整数值 { "userId":"15", "username":"Albert", "firstName":"Albert", "lastName":"Einstein" } 用户id ahiddenfield 如何将我的用户ID字段编码为整数 谢谢隐藏字段是“无类型”的,因此

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

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

{
  "userId":"15",
  "username":"Albert",
  "firstName":"Albert",
  "lastName":"Einstein"
}
用户id ahiddenfield

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

谢谢

隐藏字段是“无类型”的,因此它不会对其值进行条件设置或转换。您有两个主要选择:

  • 扩展隐藏字段以实现返回整数而不是字符串的getValue方法
  • 使用参数而不是隐藏字段将id数据发送到服务器
  • 试一试

    getValues仅返回提交的字符串值

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

    isNaN('fds5sdf') returns true
     isNaN('15')  returns false
    
    所以,如果isNaN函数返回false,则必须将部分转换为Int,parseInt('15')


    首先,如果表单中的项为xtype:“numberfield”getFieldValues reurns integer value,请尝试getFieldValues()

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

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