我可以在提交之前看到字段的值:
var itemsForm = '';
function mostraItems(item, index, length) { itemsForm += item.id + ':' + item.name + ':' + item.value + ':' + index + '\n'; }
myForm.form.items.each(mostraItems);
alert (itemsForm);
myForm.form.submit({...
我遇到的问题是提交的值与调用form.submit()之前看到的值不同。其中一个字段是ComboBox:
var myCombo = new Ext.form.ComboBox({
//autoWidth: true,
width: 250,
displayField: 'theFieldText',
editable: false,
emptyText: 'Select something ...',
fieldLabel: 'Some text',
listeners: { 'select': { fn: theOnSelect, scope: this} },
mode: 'local',
selectOnFocus: true,
store: theStore,
triggerAction: 'all',
typeAhead: true,
valueField: 'theFieldValue',
name: 'fieldName'
});
在请求中要输入的是valueField和displayField的和。假设value字段包含“1”,displayField包含“一些文本”,那么在请求中要输入的是“1(一些文本)”,而不仅仅是值“1”。
在调用form.submit()之后或期间发生了一些事情,但我找不到它是什么。
使用Ext 2.3
2条答案
按热度按时间uelo1irk1#
在表单提交调用期间没有发生任何异常。
首先,在提交表单之前检查表单的值(但不是现在的方法)。
提供将提交的键/值对。
因此,在控制台中键入
或放入代码中
而不是alert(),并看到输出。然后,当您以标准方式提交表单时
你的价值观是不可能改变的。2你如何提交表单?
eni9jsuy2#
如Igor所述,您应始终使用
form.getForm().getValues()
来查看正在提交的值。对于任何特定字段,如果您对数据的格式设置、显示或计算方式不满意,您可以始终覆盖该字段的
getSubmitData
方法。