gpt4 book ai didi

javascript - ExtJs 表单验证

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:48 24 4
gpt4 key购买 nike

我在 ExtJs 中有这个表单。如果 field1 不为空,则 field2 不得为空。但即使听众正在开火,它也不起作用。

 {
xtype: 'panel',
title: 'title 1',
items: [{
xtype: 'fieldset',
title: 'field A',
items: [{
xtype: 'textfield',
fieldLabel: 'Line 1',
id: 'field1',
listeners: {
change: function(f, new_val) {
if (new_val) {
//alert("change" + new_val);
f.field2.allowBlank = false;
} else {
f.field1.allowBlank = true;
}
}
}
code for field2
}]
}]
}

最佳答案

部分答案:

您的代码不起作用的原因是 allowBlank 是一个配置值 -- 它仅在创建组件时有效。我经常看到这个错误——在浏览 API 文档时,你需要记住所有这些配置选项只在对象创建时有效——它们不是你可以设置来修改现有对象行为的公共(public)属性.

也就是说,令我惊讶的是 API 中没有 setAllowBlank() 方法。如果我能找到解决方法,我会继续环顾四周并修改此答案。

编辑:根据我对 TextField 源代码的阅读,您的方法应该有效。所以问题是为什么不是。

EDIT2:您可能无法获得对您的 TextFields 的引用。 f.field1 可能没有指向您认为的那样。您可以通过将 ref:'field1' 添加到您的 TextField 配置来解决此问题。然后您的 FormPanel 将有一个名为 field1 的属性,您可以引用。

关于javascript - ExtJs 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4379732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com