在我问我的问题之前,我应该提到我阅读了关于这个问题的每一篇文章。
我正在独立的 ajax 请求中使用 form.getForm().getValues()
提交我的 extjs 表单。
我无法将组合中的值 (userManager_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
从服务器获取数据
谢谢
更新
所以我做了一个小测试让你看看现场:
http://fatnjazzy.byethost8.com/
你可以查看source来查看js源码。
完成后我会将其发布在这里。
现在它可以工作,但表单不会初始化其值。
最佳答案
使用hiddenName代替name或作为name的补充。这将创建一个该名称的隐藏字段,该字段将存储当前选择的 valueField 的值。另请注意,hiddenValue 配置用于设置隐藏字段的初始值,而不是字段名称声明。
以下是更改后的 ComboBox 定义,它将通过 userId 请求参数提交所选记录的 userManager_userId 字段的值:
new Ext.form.ComboBox({
hiddenName: 'userId',
valueField: 'userManager_userId',
displayField: 'userManager_userName',
// ...
});
关于javascript - Extjs - 组合框提交值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5415453/