我有一些组合框,它们在表单中具有预定义的值。但是,当用户提交表单并且我使用以下方法重置时,它工作正常:
this.getView().getForm().reset()
这将在大多数区域完美地重置表单,并且组合框将再次用预定义的值重新填充,但是,如果您将值保持在新表单中并再次提交,您将收到一个“无法读取空的属性'0'”错误
我如何预填充值:
xtype: 'combobox',
fieldLabel: '<span style="color: red; font-weight: bold;">*</span> <span style="font-weight: bold;">Are there any injuries or Fatalities?<span>',
id: 'injuriesFatalities',
labelWidth: 400,
labelAlign: 'right',
allowBlank: false,
displayField: 'name',
value: 'No',
store: Ext.create('Ext.data.Store', {
fields: ['name'],
data: [{ name: 'No' }, { name: 'Yes' }]
})
为避免此错误,用户当前需要做的是在组合框中重新选择当前选择的内容。如果我回答了以下问题之一,我觉得我可以避免这个问题:
A) 如何正确设置预定义的组合框值,或
B) 如何正确清除表单而不出现此错误?
提要
目标:
问题:
-即使在表单重置后combobox选择了值,combobox也不会实际保存正确的值。
抛出错误:
“无法读取null的属性“0”
组合框配置中缺少valueField配置。此外,还需要在数据中指定指定的valuefield。您始终可以重用相同的字段,但最好将displayField和valueField保留为不同的键,以便轻松识别它们。
下面是一个如何执行此操作的示例:
Ext.application({
name: 'Fiddle',
launch: function () {
var store = Ext.create("Ext.data.Store", {
fields: ['name', 'age'],
data: [{
name: 'Test1',
age: 22,
value: 'test1'
}, {
name: 'Test2',
age: 23,
value: 'test2',
}, {
name: 'Test3',
age: 24,
value: 'test3'
}]
});
Ext.Viewport.add({
xtype: 'panel',
layout: 'fit',
title: 'Form Exmaple',
items: [{
xtype: 'formpanel',
id: 'formId',
items: [{
xtype: 'combobox',
store: store,
displayField: 'name',
valueField: 'value',
value: 'test2'
}],
buttons: [{
text: 'Reset',
handler: function(me) {
var form = Ext.getCmp('formId');
form.reset();
}
}]
}]
});
}
});
小提琴示例:https://fiddle.sencha.com/#view/editor
问题内容: 就像是有什么,但对?我要显示的数据是使用的关联。 我已经尝试使用过,但是在这种情况下,我必须在hibernate状态下使用它,这需要我指定using,并且每当我检索到through时,列表中的元素之间都会有空格,具体取决于。 我需要自动填充集合,因为我需要在创建时动态生成。当我使用plain时,得到以下内容: 还有其他解决方案吗? 编辑 我正在尝试实现动态表格 问题答案: 您无法在MV
我在几个表单上遇到了chrome自动填充行为的问题。 表单中的字段都有非常常见和准确的名称,如“email”、“name”或“password”,它们还设置了。 autocomplete标志已成功禁用了autocomplete行为,在该行为中,当您开始键入时会显示下拉值,但没有更改Chrome将字段自动填充为的值。 这个行为是可以的,除非chrome不正确地填充输入,例如用电子邮件地址填充电话输入
问题内容: 我已经看到这个问题在互联网上流传,但是我还没有找到可行的解决方案。基本上,我想加载我的应用程序并按下一个按钮;然后,该按钮操作将在已加载到Web视图中的网站中填写用户名和密码(或等待onPageFinished)。最后,登录页面上的提交按钮将被激活。 据我了解,这可以通过使用loadUrl(javascript)进行Java注入来完成,但是我不知道用Java命令填写字段是什么。对于iO
我看到了关于如何从SMS中检索应用程序密码字段的OTP的IOS12文件API。但我好像找不到另一边的文件...将OTP发送给用户。IOS可以检测到的OTP的标准是什么,供用户自动填充。例如,是否有一个字符限制或某种模式必须遵循。 我指的是这个iOS功能https://9to5mac.com/2018/06/04/safari-security-code-auto-fill/ 具体地说,这个API要
问题内容: 您如何判断浏览器是否自动填充了文本框?尤其是用户名和密码框可自动填充页面加载。 我的第一个问题是页面加载序列何时发生?是在document.ready之前还是之后? 其次,我该如何使用逻辑找出这种情况是否发生?它不是我想阻止这种情况发生,只是挂接到事件中。最好是这样的: 如果可能的话,我希望看到一个jsfiddle显示您的答案。 问题答案: 问题是自动填充由不同的浏览器处理。有些派遣变
嘿,我想做一些计算器,可以用自动填充来计算总价。首先我选择选项选择计划,然后选择计划后将自动生成基本价格,然后我输入折扣值,然后将自动生成总价格(基本价格折扣)。如何在我的代码中实现这一点: 这里是我的HTML: 我的JS: