Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Javascript Extjs-组合框提交值_Javascript_Extjs_Combobox_Submit - Fatal编程技术网

Javascript Extjs-组合框提交值

Javascript Extjs-组合框提交值,javascript,extjs,combobox,submit,Javascript,Extjs,Combobox,Submit,在我提问之前,我想提一下,我阅读了关于这个问题的每一篇文章。 我在一个独立的ajax请求中使用:form.getForm().getValues()提交我的extjs表单 我无法将组合中的值(userManager\u userId)提交到服务器: new Ext.form.ComboBox({ name: 'userManager_userName', valueField: 'userManager_userId',


在我提问之前,我想提一下,我阅读了关于这个问题的每一篇文章。
我在一个独立的ajax请求中使用:
form.getForm().getValues()
提交我的extjs表单

我无法将组合中的值(userManager\u userId)提交到服务器:

       new Ext.form.ComboBox({
            name: 'userManager_userName',
            valueField: 'userManager_userId',
            hiddenValue : 'userManager_userId',//I want to send this ti the server (Integer)
            displayField: 'userManager_userName'
            ....
    )}
提供/提交其显示而非其值的组合。
我应该提到,当for加载时,我使用
Ext.data.JsonReader

谢谢

更新

所以我做了一个小测试让你看直播:
您可以查看源代码以查看js源代码。
完成后我会把它贴在这里。

现在它正在工作,但是表单没有初始化它的值。

使用hiddenName代替名称或在名称之外使用。这将创建该名称的隐藏字段,该字段将存储当前选择的值字段的值。还要注意,hiddenValue配置用于设置隐藏字段的初始值,而不是字段名声明

这是一个经过修改的组合框定义,它将通过请求参数userId提交所选记录的userManager\u userId字段的值:

new Ext.form.ComboBox({
    hiddenName: 'userId',
    valueField: 'userManager_userId',
    displayField: 'userManager_userName',
    // ...
});

您是否为组合框设置了
hiddenName
属性?当您使用
hiddenValue
时,您需要使用
hiddenName
hiddenValue
只设置组合的默认值。通过设置它,您将无法将值发送到服务器端

更新:既然您使用单独的Ajax请求提交表单,为什么要使用隐藏字段来存储值?您可以从以下位置访问组合框的值:

 comboObject.getValue()
form.getForm.getValues()不提供组合值的另一个可能原因是
值字段中的值错误。在您的情况下,您有userManager\u userId。这是要绑定到组合框的基础数据值名称吗?以下是我的例子:

store: new Ext.data.JsonStore({
    fields:['item','value'],                            
    data: [
            {item:'Option 1',value: 'OP1'},
            {item:'Option 2',value: 'OP2'},
            {item:'Option 3',value: 'OP3'}
        ]                   
}),
mode: 'local',
editable: false, 
allowBlank: false,
forceSelection: true,
valueField: 'value',
displayField: 'item',
name:'tt',
id: 'tt'

这里valueField的值绑定到我的存储的值字段。

如果我添加一个
hiddenName:“userId”
它提交一个空字符串,hiddenName的值只是在提交或调用周围表单上的getValues时组合框的所选值将存储在其中的参数名。如果该参数中没有值,则可能还有其他问题需要解决。一个更完整的组合框定义示例——特别是您如何设置店铺的示例——将非常有用。如果我添加一个
hiddenName:“userId”
它提交一个空字符串谢谢,访问我的
obj.getValue()
将提供一个空字符串。与
getForm().getValues()
相同。我使用hiddenValue,因为我认为这是应该发送到服务器的内容。。。我删除了hiddenValue,但仍然得到一个空字符串。。。。