gpt4 book ai didi

javascript - 道场:道场onblur事件

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

我有一个使用 dojo 1.5 的表单设置。我正在使用 dijit.form.ComboBox 和 dijit.form.TextBox

Combobox 有像“car”、“bike”、“motorcycle”这样的值,文本框是 Combobox 的形容词。因此 Combobox 中的内容无关紧要,但如果 ComboBox 确实具有值,则必须在 TextBox 中填充一些内容。可选地,如果 ComboBox 中没有任何内容,那么 TextBox 中也没有任何内容,这很好。事实上,如果 Combobox 中没有内容,那么文本框中就不能有任何内容。

在常规编码中,我只会在文本框上使用 onBlur 事件来转到检查 ComboBox 是否具有值的函数。我在 dojo 中看到这不起作用...代码示例如下...

Vehicle:
<input dojoType="dijit.form.ComboBox"
store="xvarStore"
value=""
searchAttr="name"
name="vehicle_1"
id="vehicle_1"
/>
Descriptor:
<input type="text"
dojoType="dijit.form.TextBox"
value=""
class=lighttext
style="width:350px;height:19px"
id="filter_value_1"
name="filter_value_1"
/>

我最初的尝试是在 Descriptor 的 <input> 标签中添加一个 onBlur,但发现这不起作用。

Dojo 如何处理这个问题?是通过 dojo.connect 参数吗?尽管在上面的示例中,组合框的 ID 为“vehicle_1”,文本框的 ID 为“filter_value_1”,但仍然可以有许多组合框和文本框按顺序向上编号。 (车辆_2、车辆_3 等)

任何建议或资源链接将不胜感激。

最佳答案

要添加 onBlur 事件,您应该使用 dojo.connect():

dojo.connect(dojo.byId("vehicle_1"), "onBlur", function() { /* do something */ });

如果您有多个输入需要连接到此,请考虑为需要模糊的输入添加一个自定义类,并使用 dojo.query 连接到所有输入:

Vehicle:
<input dojoType="dijit.form.ComboBox"
store="xvarStore"
class="blurEvent"
value=""
searchAttr="name"
name="vehicle_1"
id="vehicle_1"
/>

dojo.query(".blurEvent").forEach(function(node, index, arr) {
dojo.connect(node, "onBlur", function() { /* do something */ });
});

在传递给 dojo.connect 的函数中,您可以添加一些代码以去除末尾的数字,并使用它来引用每个 filter_value_* 输入以进行验证。

dojo.connect()

Combobox documention

关于javascript - 道场:道场onblur事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4662646/

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